diff --git a/core/test/net/sf/openrocket/file/rocksim/export/RockSimDocumentDTOTest.java b/core/test/net/sf/openrocket/file/rocksim/export/RockSimDocumentDTOTest.java index f0b8ad12e..ea7eb9555 100644 --- a/core/test/net/sf/openrocket/file/rocksim/export/RockSimDocumentDTOTest.java +++ b/core/test/net/sf/openrocket/file/rocksim/export/RockSimDocumentDTOTest.java @@ -127,24 +127,26 @@ public class RockSimDocumentDTOTest extends RockSimTestBase { List<RocketComponent> originalChildren = originalRocket.getAllChildren(); List<RocketComponent> importedChildren = importedRocket.getAllChildren(); assertEquals(" Number of total children doesn't match", - originalChildren.size(), importedChildren.size()); + originalChildren.size() + 5, importedChildren.size()); // More children because RockSim has individual podsets assertEquals(" Number of rocket children doesn't match", 1, importedRocket.getChildCount()); AxialStage stage = (AxialStage) importedRocket.getChild(0); assertEquals(" Number of stage children doesn't match", 2, stage.getChildCount()); BodyTube tube = (BodyTube) stage.getChild(1); - assertEquals(" Number of body tube children doesn't match", 3, tube.getChildCount()); + assertEquals(" Number of body tube children doesn't match", 6, tube.getChildCount()); PodSet pod1 = (PodSet) tube.getChild(0); assertEquals(" Number of pod 1 children doesn't match", 1, pod1.getChildCount()); PodSet pod2 = (PodSet) tube.getChild(1); assertEquals(" Number of pod 2 children doesn't match", 2, pod2.getChildCount()); - PodSet pod3 = (PodSet) tube.getChild(2); + PodSet pod3 = (PodSet) tube.getChild(3); assertEquals(" Number of pod 3 children doesn't match", 0, pod3.getChildCount()); // Test component names - for (int i = 1; i < originalChildren.size(); i++) { - assertEquals(" Child " + i + " does not match", - originalChildren.get(i).getName(), importedChildren.get(i).getName()); - } + assertEquals(" Name does not match", "Pod 1", importedChildren.get(3).getName()); + assertEquals(" Name does not match", "Pod 2 #1", importedChildren.get(5).getName()); + assertEquals(" Name does not match", "Pod 2 #2", importedChildren.get(8).getName()); + assertEquals(" Name does not match", "Pod 3 #1", importedChildren.get(11).getName()); + assertEquals(" Name does not match", "Pod 3 #2", importedChildren.get(12).getName()); + assertEquals(" Name does not match", "Pod 3 #3", importedChildren.get(13).getName()); // Test pod parameters assertEquals(-0.14, pod1.getAxialOffset(), 0.0001); @@ -163,6 +165,7 @@ public class RockSimDocumentDTOTest extends RockSimTestBase { stream.close(); Files.delete(output); } + /** * Tests exporting a design where a tube coupler has children, which is not supported by RockSim, so the children * need to be moved outside the tube coupler. @@ -232,7 +235,7 @@ public class RockSimDocumentDTOTest extends RockSimTestBase { pod2.setName("Pod 2"); tube.addChild(pod2); PodSet pod3 = new PodSet(); - pod2.setName("Pod 3"); + pod3.setName("Pod 3"); tube.addChild(pod3); // Pod 1 children diff --git a/core/test/net/sf/openrocket/file/rocksim/importt/RockSimLoaderTest.java b/core/test/net/sf/openrocket/file/rocksim/importt/RockSimLoaderTest.java index 093a21d02..e6230b0c2 100644 --- a/core/test/net/sf/openrocket/file/rocksim/importt/RockSimLoaderTest.java +++ b/core/test/net/sf/openrocket/file/rocksim/importt/RockSimLoaderTest.java @@ -15,6 +15,7 @@ import net.sf.openrocket.rocketcomponent.InnerTube; import net.sf.openrocket.rocketcomponent.MassComponent; import net.sf.openrocket.rocketcomponent.NoseCone; import net.sf.openrocket.rocketcomponent.Parachute; +import net.sf.openrocket.rocketcomponent.ParallelStage; import net.sf.openrocket.rocketcomponent.PodSet; import net.sf.openrocket.rocketcomponent.RocketComponent; import net.sf.openrocket.rocketcomponent.Transition; @@ -205,7 +206,7 @@ public class RockSimLoaderTest extends BaseTestCase { rocket = doc.getRocket(); Assert.assertNotNull(rocket); Assert.assertEquals("Three Stage Everything Included Rocket - Override Total Mass/CG", doc.getRocket().getName()); - Assert.assertEquals(3, rocket.getStageCount()); + Assert.assertEquals(4, rocket.getStageCount()); stage1 = (AxialStage) rocket.getChild(0); stage2 = (AxialStage) rocket.getChild(1); stage3 = (AxialStage) rocket.getChild(2); @@ -249,11 +250,11 @@ public class RockSimLoaderTest extends BaseTestCase { Assert.assertEquals("Launch lug", bt1.getChild(3).getName()); Assert.assertEquals("Pod", bt1.getChild(4).getName()); - PodSet pod = (PodSet) bt1.getChild(4); - Assert.assertEquals(1, pod.getChildCount()); - c = pod.getChild(0); + ParallelStage booster = (ParallelStage) bt1.getChild(4); + Assert.assertEquals(1, booster.getChildCount()); + c = booster.getChild(0); Assert.assertEquals(BodyTube.class, c.getClass()); - Assert.assertEquals("Body tube", pod.getChild(0).getName()); + Assert.assertEquals("Body tube", booster.getChild(0).getName()); Assert.assertEquals(1, stage2.getChildCount()); Assert.assertEquals("2nd Stage Tube", stage2.getChild(0).getName()); @@ -392,7 +393,7 @@ public class RockSimLoaderTest extends BaseTestCase { Rocket rocket = doc.getRocket(); Assert.assertNotNull(rocket); Assert.assertEquals("Pod Test", doc.getRocket().getName()); - Assert.assertEquals(3, loader.getWarnings().size()); + Assert.assertEquals(5, loader.getWarnings().size()); InputStream stream = this.getClass().getResourceAsStream("PodTest.rkt"); Assert.assertNotNull("Could not open PodTest.rkt", stream); @@ -406,7 +407,7 @@ public class RockSimLoaderTest extends BaseTestCase { Assert.assertNotNull(doc); rocket = doc.getRocket(); Assert.assertNotNull(rocket); - Assert.assertEquals(1, rocket.getStageCount()); + Assert.assertEquals(3, rocket.getStageCount()); AxialStage stage1 = (AxialStage) rocket.getChild(0); Assert.assertEquals(3, stage1.getChildCount()); @@ -427,7 +428,7 @@ public class RockSimLoaderTest extends BaseTestCase { Assert.assertEquals(2, bodyTube1.getChildCount()); RocketComponent pod2 = bodyTube1.getChild(0); - Assert.assertEquals(PodSet.class, pod2.getClass()); + Assert.assertEquals(ParallelStage.class, pod2.getClass()); Assert.assertEquals("Pod 2", pod2.getName()); component = bodyTube1.getChild(1); Assert.assertEquals(Bulkhead.class, component.getClass()); @@ -454,7 +455,7 @@ public class RockSimLoaderTest extends BaseTestCase { Assert.assertEquals(TrapezoidFinSet.class, component.getClass()); Assert.assertEquals("Fin set 2", component.getName()); RocketComponent pod3 = bodyTube2.getChild(1); - Assert.assertEquals(PodSet.class, pod3.getClass()); + Assert.assertEquals(ParallelStage.class, pod3.getClass()); Assert.assertEquals("Pod 3", pod3.getName()); component = bodyTube2.getChild(2); Assert.assertEquals(LaunchLug.class, component.getClass()); @@ -465,7 +466,7 @@ public class RockSimLoaderTest extends BaseTestCase { Assert.assertEquals(BodyTube.class, component.getClass()); Assert.assertEquals("Body tube 3", component.getName()); Assert.assertEquals(0.04, pod3.getAxialOffset(), MathUtil.EPSILON); - Assert.assertEquals(Math.PI / 2, pod3.getAngleOffset(), 0.0001); + Assert.assertEquals(1.76043, pod3.getAngleOffset(), 0.0001); Assert.assertEquals(0.05, pod3.getRadiusOffset(), MathUtil.EPSILON); Assert.assertEquals(1, transition1.getChildCount());