From: Jan-Pascal van Best Date: Thu, 3 May 2012 20:15:45 +0000 (+0200) Subject: Added test case to check for GTST reruns (in season) X-Git-Tag: 1.1.0~17 X-Git-Url: http://www.vanbest.org/gitweb/?a=commitdiff_plain;h=9637efe2ad7e92eadccf69e5f8d4418e9b88544e;p=tv_grab_nl_java Added test case to check for GTST reruns (in season) --- diff --git a/.classpath b/.classpath index 4bc0a2a..d90b917 100644 --- a/.classpath +++ b/.classpath @@ -1,9 +1,9 @@ - - - - - - - - - + + + + + + + + + diff --git a/src/test/java/org/vanbest/xmltv/RTLTest.java b/src/test/java/org/vanbest/xmltv/RTLTest.java index 02c3444..cdb10a5 100644 --- a/src/test/java/org/vanbest/xmltv/RTLTest.java +++ b/src/test/java/org/vanbest/xmltv/RTLTest.java @@ -2,6 +2,8 @@ package org.vanbest.xmltv; import static org.junit.Assert.*; +import java.util.Calendar; +import java.util.Date; import java.util.List; import org.junit.After; @@ -29,9 +31,11 @@ public class RTLTest { } @Test - public void testGetProgrammesListOfChannelInt() { + public void testgetChannels() { List channels = rtl.getChannels(); + // there should be a least 20 channels + assertTrue("There should be at least 20 channels from rtl.nl", channels.size()>=20); // there should be an "RTL 4" channel boolean foundRTL4 = false; for(Channel c: channels) { @@ -46,4 +50,65 @@ public class RTLTest { } } + @Test + public void testFindGTSTRerun() throws Exception { + List channels = rtl.getChannels(); + + Channel rtl4 = null; + for(Channel c: channels) { + if(c.defaultName().equals("RTL 4")) { + rtl4 = c; + } + } + assertNotNull("Should be able to find RTL 4 channel", rtl4); + + List today = rtl.getProgrammes(rtl4, 0); + assertTrue("Expect at leat 10 programmes for a day", today.size()>=10); + + Calendar now = Calendar.getInstance(); + if(now.get(Calendar.MONTH)<=Calendar.MAY || now.get(Calendar.MONTH)>=Calendar.SEPTEMBER) { + int offset; + switch(now.get(Calendar.DAY_OF_WEEK)) { + case Calendar.SATURDAY: offset = 2; break; + case Calendar.SUNDAY: offset = 1; break; + default: offset = 0; + } + int rerun; + switch(now.get(Calendar.DAY_OF_WEEK)) { + case Calendar.FRIDAY: rerun = 3; break; + case Calendar.SATURDAY: rerun = 2; break; + default: rerun = 1; + } + List first = rtl.getProgrammes(rtl4, offset); + Programme gtstOriginal = null; + for(Programme p: first) { + if(p.getFirstTitle().matches("Goede Tijden.*")) { + if (p.startTime.getHours()>=19) { + gtstOriginal = p; + break; + } + } + } + assertNotNull("Should have a programme called Goede Tijden, Slechte Tijden after 19:00 on date with offset "+offset+ " for today", gtstOriginal); + System.out.println(gtstOriginal.toString()); + + List reruns = rtl.getProgrammes(rtl4, rerun); + Programme gtstRerun = null; + for(Programme p: reruns) { + if(p.getFirstTitle().matches("Goede Tijden.*")) { + if (p.startTime.getHours()<=15) { + gtstRerun = p; + break; + } + } + } + assertNotNull("Should have a programme called Goede Tijden, Slechte Tijden before 15:00 on date with offset "+rerun, gtstRerun); + + assertEquals("GTST rerun should have the same description as the original", gtstRerun.descriptions.get(0).title, gtstOriginal.descriptions.get(0).title); + } + + + + + } }