package co.createch.MetroRappid.test;
import junit.framework.Assert;
import junit.framework.TestCase;
import org.simpleframework.xml.Serializer;
import org.simpleframework.xml.core.Persister;
import co.createch.MetroRappid.model.StopResponse;
import co.createch.MetroRappid.model.StopService;
public class StopResponseTest extends TestCase {
public void test_valid_response_deserialization() throws Exception {
Serializer serializer = new Persister();
StopResponse response = serializer.read(StopResponse.class, "<Atstop>\n" +
" <Walkdist>0.45</Walkdist>\n" +
" <Walkdir>SE</Walkdir>\n" +
" <Description>DOWNTOWN STATION</Description>\n" +
" <Area>Austin</Area>\n" +
" <Atisstopid>54097</Atisstopid>\n" +
" <Stopid>5534</Stopid>\n" +
" <Lat>30.265011</Lat>\n" +
" <Long>-97.739297</Long>\n" +
" <Stopposition>N</Stopposition>\n" +
" <Heading>NB</Heading>\n" +
" <Side>Near</Side>\n" +
" <Stopstatustype>N</Stopstatustype>\n" +
" <Service>\n" +
" <Route>550</Route>\n" +
" <Publicroute>550</Publicroute>\n" +
" <Sign>550-MetroRail Red Line-NB</Sign>\n" +
" <Operator>CM</Operator>\n" +
" <Publicoperator>CM</Publicoperator>\n" +
" <Direction>N</Direction>\n" +
" <Status>N</Status>\n" +
" <Servicetype>0</Servicetype>\n" +
" <Routetype>T</Routetype>\n" +
" <Times>12:03 AM</Times>\n" +
" <Tripinfo>\n" +
" <Triptime>12:03 AM</Triptime>\n" +
" <Tripid>44629-4</Tripid>\n" +
" <Skedtripid>\n" +
" </Skedtripid>\n" +
" <Adherence>0</Adherence>\n" +
" <Estimatedtime>12:03 AM</Estimatedtime>\n" +
" <Realtime>\n" +
" <Valid>N</Valid>\n" +
" <Adherence>0</Adherence>\n" +
" <Estimatedtime>12:03 AM</Estimatedtime>\n" +
" <Estimatedminutes>\n" +
" </Estimatedminutes>\n" +
" <Polltime></Polltime>\n" +
" <Trend>\n" +
" </Trend>\n" +
" <Speed>0.00</Speed>\n" +
" <Reliable>\n" +
" </Reliable>\n" +
" <Stopped>\n" +
" </Stopped>\n" +
" <Vehicleid></Vehicleid>\n" +
" <Lat>0.000000</Lat>\n" +
" <Long>0.000000</Long>\n" +
" </Realtime>\n" +
" <Block>550-91</Block>\n" +
" <Exception>N</Exception>\n" +
" </Tripinfo>\n" +
" </Service>\n" +
" <Service>\n" +
" <Route>550</Route>\n" +
" <Publicroute>550</Publicroute>\n" +
" <Sign>550-MetroRail Red Line-NB</Sign>\n" +
" <Operator>CM</Operator>\n" +
" <Publicoperator>CM</Publicoperator>\n" +
" <Direction>N</Direction>\n" +
" <Status>N</Status>\n" +
" <Servicetype>0</Servicetype>\n" +
" <Routetype>T</Routetype>\n" +
" <Times>12:03 AM</Times>\n" +
" <Tripinfo>\n" +
" <Triptime>12:03 AM</Triptime>\n" +
" <Tripid>44629-4</Tripid>\n" +
" <Skedtripid>\n" +
" </Skedtripid>\n" +
" <Adherence>0</Adherence>\n" +
" <Estimatedtime>12:03 AM</Estimatedtime>\n" +
" <Realtime>\n" +
" <Valid>N</Valid>\n" +
" <Adherence>0</Adherence>\n" +
" <Estimatedtime>12:03 AM</Estimatedtime>\n" +
" <Estimatedminutes>\n" +
" </Estimatedminutes>\n" +
" <Polltime></Polltime>\n" +
" <Trend>\n" +
" </Trend>\n" +
" <Speed>0.00</Speed>\n" +
" <Reliable>\n" +
" </Reliable>\n" +
" <Stopped>\n" +
" </Stopped>\n" +
" <Vehicleid></Vehicleid>\n" +
" <Lat>0.000000</Lat>\n" +
" <Long>0.000000</Long>\n" +
" </Realtime>\n" +
" <Block>550-91</Block>\n" +
" <Exception>N</Exception>\n" +
" </Tripinfo>\n" +
" </Service>\n" +
"</Atstop>\n"
);
Assert.assertNotNull(response);
Assert.assertTrue(response.services.size() == 2);
Assert.assertEquals(response.stopId, "5534");
Assert.assertEquals(response.area, "Austin");
Assert.assertEquals(response.latitude, 30.265011);
Assert.assertEquals(response.longitude, -97.739297);
StopService stopService = response.services.get(0);
Assert.assertEquals(stopService.route, "550");
}
}