Added fuelio test
authorBill Kuker <bkuker@billkuker.com>
Fri, 12 Nov 2010 14:05:59 +0000 (14:05 +0000)
committerBill Kuker <bkuker@billkuker.com>
Fri, 12 Nov 2010 14:05:59 +0000 (14:05 +0000)
test/UnitTests.java
test/com/billkuker/rocketry/motorsim/test/FuelIOTest.java [new file with mode: 0644]

index bf2a8338cb3671035a8c0ce775eb4e89c60688bf..9006b56f6e3d52cd1fce6b22faa1c59e7f92897f 100644 (file)
@@ -5,6 +5,7 @@ import org.junit.runners.Suite.SuiteClasses;
 import com.billkuker.rocketry.motorsim.test.ConvergentDivergentNozzleTest;\r
 import com.billkuker.rocketry.motorsim.test.CoredCylindricalGrainTest;\r
 import com.billkuker.rocketry.motorsim.test.CylindricalChamberTest;\r
+import com.billkuker.rocketry.motorsim.test.FuelIOTest;\r
 import com.billkuker.rocketry.motorsim.test.KNSUTest;\r
 import com.billkuker.rocketry.motorsim.test.MotorIOTest;\r
 import com.billkuker.rocketry.motorsim.test.RocketScienceTest;\r
@@ -13,7 +14,8 @@ import com.billkuker.rocketry.motorsim.test.ShapeUtilTest;
 @RunWith(Suite.class)\r
 @SuiteClasses({ ConvergentDivergentNozzleTest.class,\r
                CoredCylindricalGrainTest.class, CylindricalChamberTest.class,\r
-               KNSUTest.class, MotorIOTest.class, ShapeUtilTest.class, RocketScienceTest.class })\r
+               KNSUTest.class, MotorIOTest.class, ShapeUtilTest.class,\r
+               RocketScienceTest.class, FuelIOTest.class })\r
 public class UnitTests {\r
 \r
 }\r
diff --git a/test/com/billkuker/rocketry/motorsim/test/FuelIOTest.java b/test/com/billkuker/rocketry/motorsim/test/FuelIOTest.java
new file mode 100644 (file)
index 0000000..0e54a01
--- /dev/null
@@ -0,0 +1,55 @@
+package com.billkuker.rocketry.motorsim.test;\r
+\r
+import java.io.ByteArrayInputStream;\r
+import java.io.ByteArrayOutputStream;\r
+\r
+import javax.measure.quantity.Pressure;\r
+import javax.measure.unit.SI;\r
+\r
+import junit.framework.Assert;\r
+\r
+import org.jscience.physics.amount.Amount;\r
+import org.junit.Test;\r
+\r
+import com.billkuker.rocketry.motorsim.Fuel;\r
+import com.billkuker.rocketry.motorsim.RocketScience;\r
+import com.billkuker.rocketry.motorsim.fuel.SaintRobertFuel;\r
+import com.billkuker.rocketry.motorsim.fuel.editable.EditablePiecewiseLinearFuel;\r
+import com.billkuker.rocketry.motorsim.fuel.editable.EditablePiecewiseSaintRobertFuel;\r
+import com.billkuker.rocketry.motorsim.io.MotorIO;\r
+\r
+public class FuelIOTest {\r
+       final Amount<Pressure> testPressure = Amount.valueOf(100, RocketScience.PSI);\r
+\r
+       @Test\r
+       public void saveEPL() throws Exception{\r
+               EditablePiecewiseLinearFuel f = new EditablePiecewiseLinearFuel();\r
+               f.setName("Test1");\r
+               f.add(Amount.valueOf(100, RocketScience.PSI), Amount.valueOf(1, SI.METERS_PER_SECOND));\r
+               ByteArrayOutputStream out = new ByteArrayOutputStream();\r
+               MotorIO.writeFuel(f, out);\r
+               String s = new String(out.toByteArray());\r
+               System.out.println(s);\r
+               \r
+               Fuel f2 = MotorIO.readFuel(new ByteArrayInputStream(out.toByteArray()));\r
+               Assert.assertTrue(f2 instanceof EditablePiecewiseLinearFuel);\r
+               Assert.assertEquals(f2.getName(), "Test1");\r
+               Assert.assertEquals(f.burnRate(testPressure), f2.burnRate(testPressure));\r
+       }\r
+       \r
+       @Test\r
+       public void saveEPSR() throws Exception{\r
+               EditablePiecewiseSaintRobertFuel f = new EditablePiecewiseSaintRobertFuel();\r
+               f.setName("Test2");\r
+               f.add(Amount.valueOf(100, RocketScience.PSI), 1,1);\r
+               ByteArrayOutputStream out = new ByteArrayOutputStream();\r
+               MotorIO.writeFuel(f, out);\r
+               String s = new String(out.toByteArray());\r
+               System.out.println(s);\r
+               \r
+               Fuel f2 = MotorIO.readFuel(new ByteArrayInputStream(out.toByteArray()));\r
+               Assert.assertTrue(f2 instanceof EditablePiecewiseSaintRobertFuel);\r
+               Assert.assertEquals(f2.getName(), "Test2");\r
+               Assert.assertEquals(f.burnRate(testPressure), f2.burnRate(testPressure));\r
+       }\r
+}\r