Fix issue with inconsistent formatting of "GPS off" buses.
[frank.git] / test / net / jaekl / frank / ScheduleTest.java
index 2fc9ac2a5f84f09bf189840648f0b3fb7df50ede..1e1a5176bb200a983ac3b5cc8dc50a801b3c13f4 100644 (file)
@@ -6,7 +6,7 @@ import java.io.PrintWriter;
 import java.util.Date;
 import java.util.Locale;
 
-import junit.framework.Assert;
+import org.junit.Assert;
 
 import net.jaekl.frank.octranspo.RouteMock;
 import net.jaekl.frank.octranspo.RouteSummaryMock;
@@ -17,15 +17,8 @@ import org.junit.Before;
 import org.junit.Test;
 
 public class ScheduleTest {
-       static final String EXPECTED_STYLE = "<STYLE>\n" + 
-                       "  body {background-color: #F0F0C0; font-size: 1.5em; }\n" + 
-                       "  #trips {border-collapse: collapse; font-size: 1.5em; }\n" + 
-                       "  #trips td, #trips th {border: 1px solid #600000; padding: 3px 3px 3px 3px; text-align: center;}\n" + 
-                       "  #trips th {background-color: #800000; color: #FFFFFF; }\n" + 
-                       "  #trips tr.ghost td {background-color: #C0C0C0;}\n" + 
-                       "</STYLE>\n";
        static final String TITLE_PREFIX = "<HTML>\n<HEAD>\n<TITLE>";
-       static final String TITLE_SUFFIX = "</TITLE>\n" + EXPECTED_STYLE + "</HEAD>\n";
+       static final String TITLE_SUFFIX = "</TITLE>\n" + Style.CSS + "\n</HEAD>\n";
        
        
        ByteArrayOutputStream m_baos;
@@ -44,25 +37,6 @@ public class ScheduleTest {
                }
        }
        
-       // Confirm that writeStyle's output does not vary with the locale
-       @Test
-       public void test_writeStyle() {
-               String actual;
-
-               Locale[] locales = { Locale.CANADA, Locale.CANADA_FRENCH, Locale.JAPAN };
-               
-               for (Locale locale : locales) {
-                       m_baos.reset();
-                       
-                       Schedule schedule = new Schedule(locale);
-                       schedule.writeStyle(m_pw);
-                       m_pw.flush();
-                       
-                       actual = m_baos.toString();
-                       Assert.assertEquals(EXPECTED_STYLE, actual);
-               }
-       }
-       
        @Test
        public void test_writeHeader() {
                Locale[] locales = { Locale.CANADA, Locale.CANADA_FRENCH, Locale.JAPAN };
@@ -102,7 +76,7 @@ public class ScheduleTest {
                
                String actual = m_baos.toString();
                
-               Assert.assertTrue(actual.contains(EXPECTED_STYLE));
+               Assert.assertTrue(actual.contains(Style.CSS));
                
                String expectedTitle = TITLE_PREFIX + "Frank: " + stopName + " (" + stopNo + ")" + TITLE_SUFFIX;
                Assert.assertTrue(actual.contains(expectedTitle));
@@ -162,6 +136,7 @@ public class ScheduleTest {
                trip = new TripMock(queryDate);
                trip.mock_setDest(HURDMAN);
                trip.mock_setAdjTime(37);
+               trip.mock_setAdjAge(-2);
                route.mock_addTrip(trip);
                
                rsm.mock_addRoute(route);
@@ -178,7 +153,7 @@ public class ScheduleTest {
                
                // Some rudimentary validation of the result.
                // Should really go through more permutations, and examine them more closely, here.
-               Assert.assertTrue(actual.contains(EXPECTED_STYLE));
+               Assert.assertTrue(actual.contains(Style.CSS));
                
                String expectedTitle = TITLE_PREFIX + "Frank: " + stopName + " (" + stopNo + ")" + TITLE_SUFFIX;
                Assert.assertTrue(actual.contains(expectedTitle));
@@ -202,8 +177,10 @@ public class ScheduleTest {
                Assert.assertTrue(actual.contains("<TD>" + HURDMAN + "</TD>"));
                Assert.assertTrue(actual.contains("<TD><SPAN ID=\"in_2\">17m</SPAN></TD>"));
                
+               Assert.assertTrue(actual.contains("<TR CLASS=\"ghost\">"));
                Assert.assertTrue(actual.contains("<TD>4</TD>"));
                Assert.assertTrue(actual.contains("<TD>" + HURDMAN + "</TD>"));
                Assert.assertTrue(actual.contains("<TD><SPAN ID=\"in_3\">37m</SPAN></TD>"));
+               Assert.assertTrue(actual.contains("<TD>GPS off</TD>"));
        }
 }