Fix correctness and threading issue in new Manufacturer lookup mechanism. It was...
[debian/openrocket] / core / test / net / sf / openrocket / motor / ManufacturerTest.java
1 package net.sf.openrocket.motor;
2
3 import static org.junit.Assert.*;
4
5 import org.junit.Test;
6
7 public class ManufacturerTest {
8
9         @Test
10         public void testExisting() {
11                 
12                 Manufacturer m1, m2, m3, m4, m5;
13                 
14                 m1 = Manufacturer.getManufacturer("aerotech");
15                 m2 = Manufacturer.getManufacturer("a ");
16                 m3 = Manufacturer.getManufacturer("-isp-");
17                 m4 = Manufacturer.getManufacturer("at/rcs");
18                 m5 = Manufacturer.getManufacturer("e");
19                 
20                 assertTrue(m1 == m2);
21                 assertTrue(m1 == m3);
22                 assertTrue(m1 == m4);
23                 assertFalse(m1 == m5);
24                 
25         }
26         
27         public void testContrail() {
28                 Manufacturer c1, c2;
29                 
30                 c1 = Manufacturer.getManufacturer("Contrail" );
31                 
32                 // Used in rsp files.
33                 c2 = Manufacturer.getManufacturer("Contrail_Rockets");
34                 
35                 assertNotNull(c1);
36                 assertEquals(c1,c2);
37         }
38         
39         @Test
40         public void testNew() {
41                 
42                 Manufacturer m1, m2, m3;
43                 
44                 m1 = Manufacturer.getManufacturer("Unknown");
45                 m2 = Manufacturer.getManufacturer(" Unknown/ ");
46                 m3 = Manufacturer.getManufacturer("Unknown/a");
47                 
48                 assertEquals(m1.getDisplayName(), "Unknown");
49                 assertEquals(m2.getDisplayName(), "Unknown");
50                 assertTrue(m1 == m2);
51                 
52                 assertEquals(m3.getDisplayName(), "Unknown/a");
53                 assertFalse(m1 == m3);
54                 
55         }
56         
57         @Test
58         public void testSimpleName() {
59                 
60                 Manufacturer m1, m2, m3, m4;
61                 
62                 m1 = Manufacturer.getManufacturer("cs");
63                 m2 = Manufacturer.getManufacturer("Cesaroni Technology");
64                 m3 = Manufacturer.getManufacturer("Cesaroni Technology Inc");
65                 m4 = Manufacturer.getManufacturer("Cesaroni Technology Inc.");
66
67                 assertEquals(m1.getDisplayName(), "Cesaroni Technology Inc.");
68                 assertEquals(m1.toString(), "Cesaroni Technology Inc.");
69                 assertEquals(m1.getSimpleName(), "Cesaroni Technology");
70                 
71                 assertTrue(m1 == m2);
72                 assertTrue(m1 == m3);
73                 assertTrue(m1 == m4);
74                 
75         }
76         
77         @Test
78         public void testMatches() {
79                 
80                 Manufacturer m1;
81                 
82                 m1 = Manufacturer.getManufacturer("aerotech");
83                 
84                 assertTrue(m1.matches("a"));
85                 assertTrue(m1.matches("a/"));
86                 assertTrue(m1.matches("a/rcs"));
87                 assertTrue(m1.matches("a/rms"));
88                 assertTrue(m1.matches("aerotech  ...-/%#_!"));
89                 assertTrue(m1.matches(" .isp/"));
90                 
91                 assertFalse(m1.matches("aero/tech"));
92                 assertFalse(m1.matches("aero.tech"));
93                 assertFalse(m1.matches("aero_tech"));
94                 assertFalse(m1.matches("aero tech"));
95         }
96         
97 }