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() {
16 Rocket r1 = net.sf.openrocket.util.TestRockets.makeBigBlue();
17 Rocket r2 = net.sf.openrocket.util.TestRockets.makeBigBlue();
19 Iterator<RocketComponent> i1 = r1.deepIterator(true);
20 Iterator<RocketComponent> i2 = r2.deepIterator(true);
21 while (i1.hasNext()) {
22 assertTrue(i2.hasNext());
24 RocketComponent c1 = i1.next();
25 RocketComponent c2 = i2.next();
27 ComponentCompare.assertEquality(c1, c2);
28 ComponentCompare.assertSimilarity(c1, c2);
30 assertFalse(i2.hasNext());
33 ComponentCompare.assertDeepEquality(r1, r2);
34 ComponentCompare.assertDeepSimilarity(r1, r2, false);
37 r1.setColor(Color.YELLOW);
39 ComponentCompare.assertEquality(r1, r2);
41 } catch (AssertionError e) {
46 i1 = r1.deepIterator(true);
47 i2 = r2.deepIterator(true);
48 boolean finsetfound = false;
49 while (i1.hasNext()) {
50 RocketComponent c1 = i1.next();
51 RocketComponent c2 = i2.next();
53 if (c1 instanceof FinSet) {
55 FinSet f1 = (FinSet)c1;
56 f1.setTabHeight(0.001);
59 ComponentCompare.assertEquality(c1, c2);
61 } catch (AssertionError e) {
66 assertTrue(finsetfound);
71 public void testComponentSimilarity() {
72 FinSet trap = new TrapezoidFinSet(
78 FinSet free = new FreeformFinSet(new Coordinate[] {
86 ComponentCompare.assertSimilarity(trap, free, true);
89 ComponentCompare.assertSimilarity(trap, free);
91 } catch (AssertionError e) {
95 free.setName(trap.getName());
96 ComponentCompare.assertSimilarity(trap, free);
99 ComponentCompare.assertEquality(trap, free);
101 } catch (AssertionError e) {
106 BodyTube t1 = new BodyTube();
107 BodyTube t2 = new BodyTube();
111 ComponentCompare.assertDeepSimilarity(t1, t2, false);
114 ComponentCompare.assertDeepEquality(t1, t2);
116 } catch (AssertionError e) {
120 t1.addChild(new TrapezoidFinSet());
123 ComponentCompare.assertDeepSimilarity(t1, t2, true);
125 } catch (AssertionError e) {