Change the InvalidComponentPresetException so it reports all errors found in a preset...
[debian/openrocket] / core / test / net / sf / openrocket / preset / NoseConePresetTests.java
index f36d026efe08e771cd358ce7f029ee1e210eec01..f82b59189633116e2f14e1b8841a7d81b656d475 100644 (file)
@@ -1,7 +1,6 @@
 package net.sf.openrocket.preset;
 
 import static org.junit.Assert.assertEquals;
-import static org.junit.Assert.assertTrue;
 import net.sf.openrocket.material.Material;
 import net.sf.openrocket.motor.Manufacturer;
 import net.sf.openrocket.rocketcomponent.Transition;
@@ -27,7 +26,22 @@ public class NoseConePresetTests extends BaseTestCase {
                        presetspec.put(ComponentPreset.TYPE, ComponentPreset.Type.NOSE_CONE);
                        ComponentPresetFactory.create(presetspec);
                } catch ( InvalidComponentPresetException ex ) {
-                       assertTrue("Wrong Exception Thrown", ex.getMessage().contains("No Manufacturer specified"));
+                       PresetTest.assertInvalidPresetException( ex,
+                                       new TypedKey<?>[] {
+                                       ComponentPreset.MANUFACTURER, 
+                                       ComponentPreset.PARTNO, 
+                                       ComponentPreset.LENGTH,
+                                       ComponentPreset.AFT_OUTER_DIAMETER,
+                                       ComponentPreset.SHAPE
+                       },
+                       new String[] {
+                                       "No Manufacturer specified",
+                                       "No PartNo specified",
+                                       "No Length specified",
+                                       "No AftOuterDiameter specified",
+                                       "No Shape specified"
+                       }
+                                       );
                }
        }
 
@@ -39,7 +53,20 @@ public class NoseConePresetTests extends BaseTestCase {
                        presetspec.put( ComponentPreset.MANUFACTURER, Manufacturer.getManufacturer("manufacturer"));
                        ComponentPresetFactory.create(presetspec);
                } catch ( InvalidComponentPresetException ex ) {
-                       assertTrue("Wrong Exception Thrown", ex.getMessage().contains("No PartNo specified"));
+                       PresetTest.assertInvalidPresetException( ex,
+                                       new TypedKey<?>[] {
+                                       ComponentPreset.PARTNO, 
+                                       ComponentPreset.LENGTH,
+                                       ComponentPreset.AFT_OUTER_DIAMETER,
+                                       ComponentPreset.SHAPE
+                       },
+                       new String[] {
+                                       "No PartNo specified",
+                                       "No Length specified",
+                                       "No AftOuterDiameter specified",
+                                       "No Shape specified"
+                       }
+                                       );
                }
        }
 
@@ -52,7 +79,18 @@ public class NoseConePresetTests extends BaseTestCase {
                        presetspec.put( ComponentPreset.PARTNO, "partno");
                        ComponentPresetFactory.create(presetspec);
                } catch ( InvalidComponentPresetException ex ) {
-                       assertTrue("Wrong Exception Thrown", ex.getMessage().contains("No Length specified"));
+                       PresetTest.assertInvalidPresetException( ex,
+                                       new TypedKey<?>[] {
+                                       ComponentPreset.LENGTH,
+                                       ComponentPreset.AFT_OUTER_DIAMETER,
+                                       ComponentPreset.SHAPE
+                       },
+                       new String[] {
+                                       "No Length specified",
+                                       "No AftOuterDiameter specified",
+                                       "No Shape specified"
+                       }
+                                       );
                }
        }
 
@@ -66,7 +104,16 @@ public class NoseConePresetTests extends BaseTestCase {
                        presetspec.put( ComponentPreset.LENGTH, 2.0);
                        ComponentPresetFactory.create(presetspec);
                } catch ( InvalidComponentPresetException ex ) {
-                       assertTrue("Wrong Exception Thrown", ex.getMessage().contains("No Shape"));
+                       PresetTest.assertInvalidPresetException( ex,
+                                       new TypedKey<?>[] {
+                                       ComponentPreset.AFT_OUTER_DIAMETER,
+                                       ComponentPreset.SHAPE
+                       },
+                       new String[] {
+                                       "No AftOuterDiameter specified",
+                                       "No Shape specified"
+                       }
+                                       );
                }
        }
 
@@ -81,7 +128,14 @@ public class NoseConePresetTests extends BaseTestCase {
                        presetspec.put( ComponentPreset.SHAPE, Transition.Shape.CONICAL);
                        ComponentPresetFactory.create(presetspec);
                } catch ( InvalidComponentPresetException ex ) {
-                       assertTrue("Wrong Exception Thrown", ex.getMessage().contains("No AftOuterDiameter"));
+                       PresetTest.assertInvalidPresetException( ex,
+                                       new TypedKey<?>[] {
+                                       ComponentPreset.AFT_OUTER_DIAMETER
+                       },
+                       new String[] {
+                                       "No AftOuterDiameter specified"
+                       }
+                                       );
                }
        }