package org.dodgybits.android.shuffle.test; import java.io.StringReader; import org.dodgybits.shuffle.android.core.model.Context; import org.dodgybits.shuffle.android.core.model.Id; import org.dodgybits.shuffle.android.synchronisation.tracks.parsing.ContextParser; import org.xmlpull.v1.XmlPullParser; import org.xmlpull.v1.XmlPullParserException; import android.util.Xml; import junit.framework.Assert; import junit.framework.TestCase; public class ContextParserTests extends TestCase { public ContextParser CreateSUT() { return new ContextParser(null); } public void testContextParserBasicParsingTest() { XmlPullParser xmlParser = Xml.newPullParser(); try { xmlParser.setInput(new StringReader("<context>"+ "<created-at type=\"datetime\">2010-01-09T21:20:39+01:00</created-at>"+ "<hide type=\"boolean\">true</hide>"+ "<id type=\"integer\">3710</id>"+ "<name>Online</name>"+ "<position type=\"integer\">1</position>"+ "<updated-at type=\"datetime\">2010-02-03T10:37:19+01:00</updated-at>"+ "</context>")); } catch (XmlPullParserException e) { // TODO Auto-generated catch block e.printStackTrace(); } ContextParser parser = CreateSUT(); Context context = parser.parseSingle(xmlParser).getResult(); Assert.assertEquals("Online", context.getName()); Assert.assertTrue(context.getHidden()); Assert.assertEquals(Id.create(3710), context.getTracksId()); Assert.assertEquals(1265189839000l, context.getModifiedDate()); } public void testContextParserReturnsNullOnFailedParsing() { XmlPullParser xmlParser = Xml.newPullParser(); try { xmlParser.setInput(new StringReader("<context>"+ "<created-at type=\"datetime\">2010-01-09T21:20:39+01:00</created-at>"+ "<hide type=\"boolean\">false</hide>"+ "<id type=\"integer\">3710</id>"+ "<name>Online</name>"+ "<position type=\"integer\">1</position>"+ "<updated-at type=\"datetime\">2010-02-03T10:37:19+01:00</updated-at>"+ "</contxt>")); } catch (XmlPullParserException e) { // TODO Auto-generated catch block e.printStackTrace(); } ContextParser parser = CreateSUT(); Context context = parser.parseSingle(xmlParser).getResult(); Assert.assertEquals(context, null); } }