1 package com.billkuker.rocketry.motorsim.test;
\r
3 import java.beans.PropertyVetoException;
\r
6 import javax.measure.unit.SI;
\r
8 import org.jscience.physics.amount.Amount;
\r
9 import org.junit.Test;
\r
11 import com.billkuker.rocketry.motorsim.ConvergentDivergentNozzle;
\r
12 import com.billkuker.rocketry.motorsim.CylindricalChamber;
\r
13 import com.billkuker.rocketry.motorsim.Motor;
\r
14 import com.billkuker.rocketry.motorsim.fuel.KNSU;
\r
15 import com.billkuker.rocketry.motorsim.grain.CoredCylindricalGrain;
\r
16 import com.billkuker.rocketry.motorsim.grain.MultiGrain;
\r
17 import com.billkuker.rocketry.motorsim.io.MotorIO;
\r
19 public class MotorIOTest {
\r
22 public void testReadWrite() throws Exception {
\r
23 Motor m = new Motor();
\r
24 m.setName("IOTestMotor");
\r
25 m.setFuel(new KNSU());
\r
27 CylindricalChamber c = new CylindricalChamber();
\r
28 c.setLength(Amount.valueOf(200, SI.MILLIMETER));
\r
29 c.setID(Amount.valueOf(30, SI.MILLIMETER));
\r
32 CoredCylindricalGrain g = new CoredCylindricalGrain();
\r
34 g.setLength(Amount.valueOf(70, SI.MILLIMETER));
\r
35 g.setOD(Amount.valueOf(29, SI.MILLIMETER));
\r
36 g.setID(Amount.valueOf(8, SI.MILLIMETER));
\r
37 } catch (PropertyVetoException v) {
\r
41 m.setGrain(new MultiGrain(g, 2));
\r
43 ConvergentDivergentNozzle n = new ConvergentDivergentNozzle();
\r
44 n.setThroatDiameter(Amount.valueOf(7.9, SI.MILLIMETER));
\r
45 n.setExitDiameter(Amount.valueOf(9, SI.MILLIMETER));
\r
46 n.setEfficiency(.87);
\r
49 File f = new File("MotorIOTest.xml");
\r
51 MotorIO.writeMotor(m, f);
\r
53 MotorIO.readMotor(f);
\r