source: tmcsimulator-scriptbuilder/trunk/test/scriptbuilder/structures/TimeSliceTest.java @ 57

Revision 57, 6.0 KB checked in by bmcguffin, 9 years ago (diff)

Added test cases for TimeSlice? class. Added a reference file containing a single timeslice.

Line 
1package scriptbuilder.structures;
2
3import java.io.File;
4import java.io.IOException;
5import java.nio.file.Files;
6import java.util.logging.Level;
7import java.util.logging.Logger;
8import junit.framework.TestCase;
9import scriptbuilder.structures.events.AudioEvent;
10import scriptbuilder.structures.events.CHPRadioEvent;
11import scriptbuilder.structures.events.I_ScriptEvent;
12
13/**
14 *
15 * @author Bryan McGuffin
16 */
17public class TimeSliceTest extends TestCase
18{
19
20    public TimeSliceTest(String testName)
21    {
22        super(testName);
23    }
24
25    /**
26     * Test of addEvent method, of class TimeSlice.
27     */
28    public void testAddEvent()
29    {
30        System.out.println("addEvent");
31        I_ScriptEvent event = new CHPRadioEvent();
32        TimeSlice instance = new TimeSlice(0, null);
33
34        assertEquals(0, instance.events.size());
35        instance.addEvent(event);
36        assertEquals(1, instance.events.size());
37    }
38
39    /**
40     * Test of getX method, of class TimeSlice.
41     */
42    public void testGetX()
43    {
44        System.out.println("getX");
45        TimeSlice instance = new TimeSlice(0, null);
46        int expResult = 0;
47        int result = instance.getX();
48        assertEquals(expResult, result);
49    }
50
51    /**
52     * Test of getTime method, of class TimeSlice.
53     */
54    public void testGetTime()
55    {
56        System.out.println("getTime");
57        TimeSlice instance = new TimeSlice(100, null);
58        int expResult = 100;
59        int result = instance.getTime();
60        assertEquals(expResult, result);
61    }
62
63    /**
64     * Test of shift method, of class TimeSlice.
65     */
66    public void testShift()
67    {
68        System.out.println("shift");
69        int amnt = 25;
70        TimeSlice instance = new TimeSlice(100, null);
71        assertEquals(100, instance.getTime());
72        instance.shift(amnt);
73        assertEquals(125, instance.getTime());
74    }
75
76    /**
77     * Test of getEffectiveDuration method, of class TimeSlice.
78     */
79    public void testGetEffectiveDuration()
80    {
81        System.out.println("getEffectiveDuration");
82        TimeSlice instance = new TimeSlice(0, null);
83        assertEquals(0, instance.getEffectiveDuration());
84
85        ScriptEvent ev1 = new AudioEvent();
86        assertEquals(1, ev1.getLength());
87        instance.addEvent(ev1);
88        assertEquals(1, instance.getEffectiveDuration());
89
90        ScriptEvent ev2 = new AudioEvent();
91        ev2.length = 25;
92        assertEquals(25, ev2.getLength());
93        instance.addEvent(ev2);
94        assertEquals(25, instance.getEffectiveDuration());
95    }
96
97    /**
98     * Test of getToolTipText method, of class TimeSlice.
99     */
100    public void testGetToolTipText()
101    {
102        System.out.println("getToolTipText");
103        int y = 0;
104        TimeSlice instance = new TimeSlice(0, null);
105        String expResult = "";
106        String result = instance.getToolTipText(0);
107        assertEquals(null, result);
108
109        result = instance.getToolTipText(56);
110        assertEquals(null, result);
111
112        result = instance.getToolTipText(50);
113        assertEquals(null, result);
114
115        result = instance.getToolTipText(80);
116        assertEquals(null, result);
117
118        AudioEvent ev = new AudioEvent();
119        instance.addEvent(ev);
120        expResult = "<html>" + ev.toString() + "<br/></html>";
121
122        result = instance.getToolTipText(56);
123        assertEquals(ev.toString(), result);
124
125        result = instance.getToolTipText(70);
126        assertEquals(ev.toString(), result);
127
128        result = instance.getToolTipText(85);
129        assertEquals(null, result);
130
131        result = instance.getToolTipText(50);
132        assertEquals(expResult, result);
133
134        result = instance.getToolTipText(0);
135        assertEquals(null, result);
136    }
137
138    /**
139     * Test of toString method, of class TimeSlice.
140     */
141    public void testToString()
142    {
143        System.out.println("toString");
144        TimeSlice instance = new TimeSlice(0, null);
145        String expResult = "";
146        String result = instance.toString();
147        assertEquals(expResult, result);
148
149        AudioEvent ev1 = new AudioEvent();
150        CHPRadioEvent ev2 = new CHPRadioEvent();
151
152        instance.addEvent(ev1);
153        instance.addEvent(ev2);
154
155        expResult = ev1.toString() + "\n" + ev2.toString() + "\n";
156        result = instance.toString();
157        assertEquals(expResult, result);
158    }
159
160    /**
161     * Test of compareTo method, of class TimeSlice.
162     */
163    public void testCompareTo()
164    {
165        System.out.println("compareTo");
166        Object o = new SimulationScript();
167
168        TimeSlice other = new TimeSlice(10, null);
169
170        TimeSlice instance = new TimeSlice(0, null);
171        int result = instance.compareTo(o);
172        assertEquals(0, result);
173
174        result = instance.compareTo(other);
175        assertEquals(-1, result);
176
177        result = other.compareTo(instance);
178        assertEquals(1, result);
179
180        result = instance.compareTo(instance);
181        assertEquals(0, result);
182
183    }
184
185    /**
186     * Test of toXML method, of class TimeSlice.
187     */
188    public void testToXML()
189    {
190        try
191        {
192            System.out.println("toXML");
193            SimulationScript script = new SimulationScript();
194            script.loadScriptFromFile(new File("test/scriptbuilder/structures/single_timeslice_output_expected.xml"));
195            TimeSlice instance = script.incidents.get(0).slices.get(0);
196
197            byte[] data = Files.readAllBytes(
198                    new File("test/scriptbuilder/structures/single_timeslice_output_expected.xml").toPath());
199
200            String expResult = new String(data);
201
202            String result = "<?xml version=\"1.0\" encoding=\"ISO-8859-1\"?>\n"
203                    + "<!DOCTYPE TMC_SCRIPT SYSTEM \"script.dtd\">\n"
204                    + XMLWriter.openTag(ELEMENT.TMC_SCRIPT.tag + " title=\"" + script.title + "\"")
205                    + instance.toXML()
206                    + XMLWriter.closeTag(ELEMENT.TMC_SCRIPT.tag);
207
208            assertEquals(expResult, result);
209
210        }
211        catch (IOException ex)
212        {
213            Logger.getLogger(TimeSliceTest.class.getName()).log(Level.SEVERE, null, ex);
214        }
215    }
216
217}
Note: See TracBrowser for help on using the repository browser.