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.ThrustCurveMotor;
13 import org.junit.Test;
15 public class TestMotorLoader {
17 private static final String DIGEST1 = "e523030bc96d5e63313b5723aaea267d";
18 private static final String DIGEST2 = "6a41f0f10b7283793eb0e6b389753729";
22 public void testGeneralMotorLoader() throws IOException {
23 MotorLoader loader = new GeneralMotorLoader();
25 test(loader, "test1.eng", DIGEST1);
26 test(loader, "test2.rse", DIGEST2);
27 test(loader, "test.zip", DIGEST2, DIGEST1);
32 public void testRASPMotorLoader() throws IOException {
33 test(new RASPMotorLoader(), "test1.eng", DIGEST1);
37 public void testRocksimMotorLoader() throws IOException {
38 test(new RockSimMotorLoader(), "test2.rse", DIGEST2);
42 public void testZipMotorLoader() throws IOException {
43 test(new ZipFileMotorLoader(), "test.zip", DIGEST2, DIGEST1);
47 private void test(MotorLoader loader, String file, String... digests) throws IOException {
50 InputStream is = this.getClass().getResourceAsStream(file);
51 assertNotNull("File " + file + " not found", is);
52 motors = loader.load(is, file);
54 assertEquals(digests.length, motors.size());
56 String[] d = new String[digests.length];
57 for (int i = 0; i < motors.size(); i++) {
58 d[i] = ((ThrustCurveMotor) motors.get(i)).getDigest();
63 assertTrue("d = " + Arrays.toString(d) + " digests = " + Arrays.toString(digests), Arrays.equals(d, digests));