1 package net.sf.openrocket.file.motor;
3 import static org.junit.Assert.*;
5 import java.io.IOException;
6 import java.io.InputStream;
7 import java.util.Arrays;
10 import net.sf.openrocket.motor.Motor;
11 import net.sf.openrocket.motor.MotorDigest;
12 import net.sf.openrocket.motor.ThrustCurveMotor;
14 import org.junit.Test;
16 public class TestMotorLoader {
19 public void testGeneralMotorLoader() throws IOException {
20 MotorLoader loader = new GeneralMotorLoader();
22 test(loader, "test1.eng", "c056cf25df6751f7bb8a94bc4f64750f");
23 test(loader, "test2.rse", "b2fe203ee319ae28b9ccdad26a8f21de");
24 test(loader, "test.zip", "b2fe203ee319ae28b9ccdad26a8f21de", "c056cf25df6751f7bb8a94bc4f64750f");
29 public void testRASPMotorLoader() throws IOException {
30 test(new RASPMotorLoader(), "test1.eng", "c056cf25df6751f7bb8a94bc4f64750f");
34 public void testRocksimMotorLoader() throws IOException {
35 test(new RockSimMotorLoader(), "test2.rse", "b2fe203ee319ae28b9ccdad26a8f21de");
39 public void testZipMotorLoader() throws IOException {
40 test(new ZipFileMotorLoader(), "test.zip", "b2fe203ee319ae28b9ccdad26a8f21de", "c056cf25df6751f7bb8a94bc4f64750f");
44 private void test(MotorLoader loader, String file, String... digests) throws IOException {
47 InputStream is = this.getClass().getResourceAsStream(file);
48 assertNotNull("File " + file + " not found", is);
49 motors = loader.load(is, file);
51 assertEquals(digests.length, motors.size());
53 String[] d = new String[digests.length];
54 for (int i = 0; i < motors.size(); i++) {
55 d[i] = MotorDigest.digestMotor((ThrustCurveMotor) motors.get(i));
60 assertTrue(Arrays.equals(d, digests));