1 package net.sf.openrocket.file.motor;
3 import static org.junit.Assert.assertEquals;
4 import static org.junit.Assert.assertNotNull;
5 import static org.junit.Assert.assertTrue;
7 import java.io.IOException;
8 import java.io.InputStream;
9 import java.util.Arrays;
10 import java.util.List;
12 import net.sf.openrocket.motor.Motor;
13 import net.sf.openrocket.motor.ThrustCurveMotor;
15 import org.junit.Test;
17 public class TestMotorLoader {
20 public void testGeneralMotorLoader() throws IOException {
21 MotorLoader loader = new GeneralMotorLoader();
23 test(loader, "test1.eng", "c056cf25df6751f7bb8a94bc4f64750f");
24 test(loader, "test2.rse", "b2fe203ee319ae28b9ccdad26a8f21de");
25 test(loader, "test.zip", "b2fe203ee319ae28b9ccdad26a8f21de", "c056cf25df6751f7bb8a94bc4f64750f");
30 public void testRASPMotorLoader() throws IOException {
31 test(new RASPMotorLoader(), "test1.eng", "c056cf25df6751f7bb8a94bc4f64750f");
35 public void testRocksimMotorLoader() throws IOException {
36 test(new RockSimMotorLoader(), "test2.rse", "b2fe203ee319ae28b9ccdad26a8f21de");
40 public void testZipMotorLoader() throws IOException {
41 test(new ZipFileMotorLoader(), "test.zip", "b2fe203ee319ae28b9ccdad26a8f21de", "c056cf25df6751f7bb8a94bc4f64750f");
45 private void test(MotorLoader loader, String file, String... digests) throws IOException {
48 InputStream is = this.getClass().getResourceAsStream(file);
49 assertNotNull("File " + file + " not found", is);
50 motors = loader.load(is, file);
52 assertEquals(digests.length, motors.size());
54 String[] d = new String[digests.length];
55 for (int i = 0; i < motors.size(); i++) {
56 d[i] = ((ThrustCurveMotor) motors.get(i)).getDigest();
61 assertTrue("d = " + Arrays.toString(d) + " digests = " + Arrays.toString(digests), Arrays.equals(d, digests));