From: Bill Kuker Date: Fri, 12 Nov 2010 14:05:59 +0000 (+0000) Subject: Added fuelio test X-Git-Url: https://git.gag.com/?a=commitdiff_plain;h=34760d0a34f2b0c995bc356ec0c842ac94c1d560;p=sw%2Fmotorsim Added fuelio test --- diff --git a/test/UnitTests.java b/test/UnitTests.java index bf2a833..9006b56 100644 --- a/test/UnitTests.java +++ b/test/UnitTests.java @@ -5,6 +5,7 @@ import org.junit.runners.Suite.SuiteClasses; import com.billkuker.rocketry.motorsim.test.ConvergentDivergentNozzleTest; import com.billkuker.rocketry.motorsim.test.CoredCylindricalGrainTest; import com.billkuker.rocketry.motorsim.test.CylindricalChamberTest; +import com.billkuker.rocketry.motorsim.test.FuelIOTest; import com.billkuker.rocketry.motorsim.test.KNSUTest; import com.billkuker.rocketry.motorsim.test.MotorIOTest; import com.billkuker.rocketry.motorsim.test.RocketScienceTest; @@ -13,7 +14,8 @@ import com.billkuker.rocketry.motorsim.test.ShapeUtilTest; @RunWith(Suite.class) @SuiteClasses({ ConvergentDivergentNozzleTest.class, CoredCylindricalGrainTest.class, CylindricalChamberTest.class, - KNSUTest.class, MotorIOTest.class, ShapeUtilTest.class, RocketScienceTest.class }) + KNSUTest.class, MotorIOTest.class, ShapeUtilTest.class, + RocketScienceTest.class, FuelIOTest.class }) public class UnitTests { } diff --git a/test/com/billkuker/rocketry/motorsim/test/FuelIOTest.java b/test/com/billkuker/rocketry/motorsim/test/FuelIOTest.java new file mode 100644 index 0000000..0e54a01 --- /dev/null +++ b/test/com/billkuker/rocketry/motorsim/test/FuelIOTest.java @@ -0,0 +1,55 @@ +package com.billkuker.rocketry.motorsim.test; + +import java.io.ByteArrayInputStream; +import java.io.ByteArrayOutputStream; + +import javax.measure.quantity.Pressure; +import javax.measure.unit.SI; + +import junit.framework.Assert; + +import org.jscience.physics.amount.Amount; +import org.junit.Test; + +import com.billkuker.rocketry.motorsim.Fuel; +import com.billkuker.rocketry.motorsim.RocketScience; +import com.billkuker.rocketry.motorsim.fuel.SaintRobertFuel; +import com.billkuker.rocketry.motorsim.fuel.editable.EditablePiecewiseLinearFuel; +import com.billkuker.rocketry.motorsim.fuel.editable.EditablePiecewiseSaintRobertFuel; +import com.billkuker.rocketry.motorsim.io.MotorIO; + +public class FuelIOTest { + final Amount testPressure = Amount.valueOf(100, RocketScience.PSI); + + @Test + public void saveEPL() throws Exception{ + EditablePiecewiseLinearFuel f = new EditablePiecewiseLinearFuel(); + f.setName("Test1"); + f.add(Amount.valueOf(100, RocketScience.PSI), Amount.valueOf(1, SI.METERS_PER_SECOND)); + ByteArrayOutputStream out = new ByteArrayOutputStream(); + MotorIO.writeFuel(f, out); + String s = new String(out.toByteArray()); + System.out.println(s); + + Fuel f2 = MotorIO.readFuel(new ByteArrayInputStream(out.toByteArray())); + Assert.assertTrue(f2 instanceof EditablePiecewiseLinearFuel); + Assert.assertEquals(f2.getName(), "Test1"); + Assert.assertEquals(f.burnRate(testPressure), f2.burnRate(testPressure)); + } + + @Test + public void saveEPSR() throws Exception{ + EditablePiecewiseSaintRobertFuel f = new EditablePiecewiseSaintRobertFuel(); + f.setName("Test2"); + f.add(Amount.valueOf(100, RocketScience.PSI), 1,1); + ByteArrayOutputStream out = new ByteArrayOutputStream(); + MotorIO.writeFuel(f, out); + String s = new String(out.toByteArray()); + System.out.println(s); + + Fuel f2 = MotorIO.readFuel(new ByteArrayInputStream(out.toByteArray())); + Assert.assertTrue(f2 instanceof EditablePiecewiseSaintRobertFuel); + Assert.assertEquals(f2.getName(), "Test2"); + Assert.assertEquals(f.burnRate(testPressure), f2.burnRate(testPressure)); + } +}