/*
* Copyright (c) 2015 Tarun Gupta.
* Licensed under the simplified BSD license.
* See Documentation/Licenses/BSD-simplified.txt for more information.
*/
package com.isode.stroke.parser.payloadparsers;
import static org.junit.Assert.assertEquals;
import static org.junit.Assert.assertNotNull;
import static org.junit.Assert.assertNull;
import org.junit.Test;
import com.isode.stroke.elements.UserLocation;
import com.isode.stroke.parser.payloadparsers.UserLocationParser;
import com.isode.stroke.parser.payloadparsers.PayloadsParserTester;
import com.isode.stroke.eventloop.DummyEventLoop;
import java.util.Date;
import com.isode.stroke.base.DateTime;
import java.util.TimeZone;
public class UserLocationParserTest {
public UserLocationParserTest() {
TimeZone.setDefault(TimeZone.getTimeZone("UTC"));
}
@Test
public void testParse_with_all_variables() {
DummyEventLoop eventLoop = new DummyEventLoop();
PayloadsParserTester parser = new PayloadsParserTester(eventLoop);
assertNotNull(parser.parse("" +
"Barbaric5.75Near" +
"1.670.95Nice" +
"+912015-06-11T20:55:50Z3" +
"FirstE315USA" +
"NewSodeURIs6.75785.66" +
"6712.89Hello" +
"DateeHighway56.77"));
UserLocation payload = (UserLocation)parser.getPayload();
assertEquals ("Barbaric", payload.getArea());
assertEquals (Float.valueOf(5.75F), payload.getAltitude());
assertEquals ("Near", payload.getLocality());
assertEquals (Float.valueOf(1.670F), payload.getLatitude());
assertEquals (Float.valueOf(0.95F), payload.getAccuracy());
assertEquals ("Nice", payload.getDescription());
assertEquals ("+91", payload.getCountryCode());
assertEquals (DateTime.dateToString(new Date(1434056150620L)), DateTime.dateToString(payload.getTimestamp()));
assertEquals ("3", payload.getFloor());
assertEquals ("First", payload.getBuilding());
assertEquals ("E315", payload.getRoom());
assertEquals ("USA", payload.getCountry());
assertEquals ("NewSode", payload.getRegion());
assertEquals ("URIs", payload.getURI());
assertEquals (Float.valueOf(6.7578F), payload.getLongitude());
assertEquals (Float.valueOf(5.66F), payload.getError());
assertEquals ("67", payload.getPostalCode());
assertEquals (Float.valueOf(12.89F), payload.getBearing());
assertEquals ("Hello", payload.getText());
assertEquals ("Datee", payload.getDatum());
assertEquals ("Highway", payload.getStreet());
assertEquals (Float.valueOf(56.77F), payload.getSpeed());
}
@Test
public void testParse_with_Some_variables() {
DummyEventLoop eventLoop = new DummyEventLoop();
PayloadsParserTester parser = new PayloadsParserTester(eventLoop);
assertNotNull(parser.parse("" +
"Barbaric5.75Near" +
"0.95Nice" +
"+912015-06-11T20:55:50Z3" +
"NewSodeURIs6.75785.66" +
"6712.89Hello"));
UserLocation payload = (UserLocation)parser.getPayload();
assertEquals ("Barbaric", payload.getArea());
assertEquals (Float.valueOf(5.75F), payload.getAltitude());
assertEquals ("Near", payload.getLocality());
assertNull(payload.getLatitude());
assertEquals (Float.valueOf(0.95F), payload.getAccuracy());
assertEquals ("Nice", payload.getDescription());
assertEquals ("+91", payload.getCountryCode());
assertEquals (DateTime.dateToString(new Date(1434056150620L)), DateTime.dateToString(payload.getTimestamp()));
assertEquals ("3", payload.getFloor());
assertNull(payload.getBuilding());
assertNull(payload.getRoom());
assertNull(payload.getCountry());
assertEquals ("NewSode", payload.getRegion());
assertEquals ("URIs", payload.getURI());
assertEquals (Float.valueOf(6.7578F), payload.getLongitude());
assertEquals (Float.valueOf(5.66F), payload.getError());
assertEquals ("67", payload.getPostalCode());
assertEquals (Float.valueOf(12.89F), payload.getBearing());
assertEquals ("Hello", payload.getText());
assertNull(payload.getDatum());
assertNull(payload.getStreet());
assertNull(payload.getSpeed());
}
}