1
2
3
4
5
6
7
8 package edu.asu.cri.MirkE.dataStructures;
9
10 import junit.framework.TestCase;
11
12 /***
13 * @author smenor
14 *
15 */
16 public class UnitTest extends TestCase {
17 Unit fahrenheit;
18 Unit celsius;
19 Unit kelvin;
20 Unit meters;
21 Unit inches;
22
23 /***
24 * @param args
25 */
26 public static void main(String[] args) {
27 }
28
29
30
31
32 protected void setUp() throws Exception {
33 super.setUp();
34 kelvin = Unit.createUnit("kelvin");
35 celsius = Unit.createUnit("celsius", 1, -273, kelvin);
36 fahrenheit = Unit.createUnit("fahrenheit", 1.8, 32, celsius);
37 meters = Unit.createUnit("meters");
38 inches = Unit.createUnit("inches", 39.3, 0, meters);
39 }
40
41
42
43
44 protected void tearDown() throws Exception {
45 super.tearDown();
46 }
47
48 /***
49 * Constructor for UnitTest.
50 * @param arg0
51 */
52 public UnitTest(String arg0) {
53 super(arg0);
54 }
55
56 /***
57 *
58 */
59 public void testConvertTo() {
60 assertEquals(
61 inches.convertTo(1, meters),
62 0.0254,
63 0.0001);
64
65 assertEquals(
66 meters.convertTo(1, meters),
67 1,
68 0.0001);
69
70 assertEquals(
71 inches.convertTo(1, inches),
72 1,
73 0.0001);
74
75 assertEquals(
76 celsius.convertTo(0, fahrenheit),
77 32,
78 0.0001);
79
80 assertEquals(
81 fahrenheit.convertTo(32, celsius),
82 0,
83 0.0001);
84
85 assertEquals(
86 fahrenheit.convertTo(63, fahrenheit),
87 63,
88 0.0001);
89
90 assertEquals(
91 kelvin.convertTo(100, celsius),
92 -173,
93 0.0001);
94
95 assertEquals(
96 celsius.convertTo(100, kelvin),
97 373,
98 0.0001);
99
100 assertEquals(
101 fahrenheit.convertTo(100, kelvin),
102 310.928,
103 0.2);
104 }
105
106 /***
107 *
108 */
109 public void testIsCompatible() {
110 assertTrue(meters.isCompatible(inches));
111 assertTrue(inches.isCompatible(meters));
112 assertTrue(inches.isCompatible(inches));
113 assertTrue(meters.isCompatible(meters));
114
115 assertTrue(fahrenheit.isCompatible(celsius));
116 assertTrue(celsius.isCompatible(fahrenheit));
117
118 assertFalse(fahrenheit.isCompatible(inches));
119 assertFalse(celsius.isCompatible(meters));
120 }
121
122 /***
123 *
124 */
125 public void testEquals() {
126 assertTrue(meters.equals(meters));
127 assertTrue(inches.equals(inches));
128 assertFalse(inches.equals(meters));
129 assertFalse(inches.equals(kelvin));
130 assertFalse(inches.equals(celsius));
131 }
132
133 }