1 package net.sf.openrocket.rocketcomponent;
3 import static org.junit.Assert.*;
6 import java.util.Iterator;
8 import net.sf.openrocket.util.Coordinate;
10 import org.junit.Test;
12 public class ComponentCompareTest {
15 public void testComponentEquality() {
17 System.out.println("TEST CLASSPATH: " + System.getProperty("java.class.path"));
19 Rocket r1 = net.sf.openrocket.util.TestRockets.makeBigBlue();
20 Rocket r2 = net.sf.openrocket.util.TestRockets.makeBigBlue();
22 Iterator<RocketComponent> i1 = r1.deepIterator(true);
23 Iterator<RocketComponent> i2 = r2.deepIterator(true);
24 while (i1.hasNext()) {
25 assertTrue(i2.hasNext());
27 RocketComponent c1 = i1.next();
28 RocketComponent c2 = i2.next();
30 ComponentCompare.assertEquality(c1, c2);
31 ComponentCompare.assertSimilarity(c1, c2);
33 assertFalse(i2.hasNext());
36 ComponentCompare.assertDeepEquality(r1, r2);
37 ComponentCompare.assertDeepSimilarity(r1, r2, false);
40 r1.setColor(Color.YELLOW);
42 ComponentCompare.assertEquality(r1, r2);
44 } catch (AssertionError e) {
49 i1 = r1.deepIterator(true);
50 i2 = r2.deepIterator(true);
51 boolean finsetfound = false;
52 while (i1.hasNext()) {
53 RocketComponent c1 = i1.next();
54 RocketComponent c2 = i2.next();
56 if (c1 instanceof FinSet) {
58 FinSet f1 = (FinSet)c1;
59 f1.setTabHeight(0.001);
62 ComponentCompare.assertEquality(c1, c2);
64 } catch (AssertionError e) {
69 assertTrue(finsetfound);
74 public void testComponentSimilarity() throws IllegalFinPointException {
75 FinSet trap = new TrapezoidFinSet(
81 FinSet free = new FreeformFinSet(new Coordinate[] {
89 ComponentCompare.assertSimilarity(trap, free, true);
92 ComponentCompare.assertSimilarity(trap, free);
94 } catch (AssertionError e) {
98 free.setName(trap.getName());
99 ComponentCompare.assertSimilarity(trap, free);
102 ComponentCompare.assertEquality(trap, free);
104 } catch (AssertionError e) {
109 BodyTube t1 = new BodyTube();
110 BodyTube t2 = new BodyTube();
114 ComponentCompare.assertDeepSimilarity(t1, t2, false);
117 ComponentCompare.assertDeepEquality(t1, t2);
119 } catch (AssertionError e) {
123 t1.addChild(new TrapezoidFinSet());
126 ComponentCompare.assertDeepSimilarity(t1, t2, true);
128 } catch (AssertionError e) {