package com.td.service;\r
\r
+import java.util.ArrayList;\r
+import java.util.List;\r
+\r
+import com.td.db.Monitor;\r
import com.td.test.TestException;\r
import com.td.test.TestUtil;\r
import com.td.utility.Debug;\r
\r
public class SchedulerTest {\r
+ private static int N = 7;//TODO\r
+ \r
public static void main(){\r
SchedulerTest obj = new SchedulerTest();\r
\r
Debug.i(obj, "start");\r
try {\r
+ test_addListTermMonitor();\r
+ test_addListTermTerm();\r
+ test_isContain();\r
test_addTermTerm();\r
} catch (TestException e) {\r
Debug.i(obj, null, e);\r
Debug.i(obj, "end");\r
}\r
\r
+ public static void test_addListTermMonitor() throws TestException{\r
+ int n = -1;\r
+ Monitor m = null;\r
+ \r
+ Scheduler sc = new Scheduler();\r
+ sc.clearSchedule();\r
+ List<Term>[] ll = sc.getList();\r
+ List<Term> l = null;\r
+ \r
+ for (int i = 0; i < 2; i++){\r
+ switch (i){\r
+ case 0:\r
+ n = 3;\r
+ ll[n].add(new Term(1, 2));\r
+ m = new Monitor(2, 3);\r
+ m.setWeek(n, true);\r
+ m.setWeek(n + 2, true);\r
+ break;\r
+ case 1:\r
+ n = 0;\r
+ ll[n].add(new Term(1, 2));\r
+ m = new Monitor(3, 4);\r
+ m.setWeek(n, true);\r
+ break;\r
+ }\r
+ \r
+ sc.add(ll, m);\r
+ \r
+ switch (i){\r
+ case 0:\r
+ l = ll[n];\r
+ TestUtil.equal(l.size(), 1);\r
+ TestUtil.isTrue(l.get(0).equals(new Term(1, 3)));\r
+ l = ll[n + 2];\r
+ TestUtil.equal(l.size(), 1);\r
+ TestUtil.isTrue(l.get(0).equals(new Term(2, 3)));\r
+ break;\r
+ case 1:\r
+ l = ll[n];\r
+ TestUtil.equal(l.size(), 2);\r
+ TestUtil.isTrue(l.get(0).equals(new Term(1, 2)));\r
+ TestUtil.isTrue(l.get(1).equals(new Term(3, 4)));\r
+ break;\r
+ }\r
+ }\r
+ }\r
+ \r
+ public static void test_addListTermTerm() throws TestException{\r
+ Term t = null;\r
+ Term t1 = null;\r
+ \r
+ for (int i = 0; i < 3; i++){\r
+ List<Term> l = new ArrayList<Term>();\r
+ switch (i){\r
+ case 0:\r
+ t = new Term(1, 3);\r
+ l.add(t);\r
+ t1 = new Term(2, 4);\r
+ break;\r
+ case 1:\r
+ t = new Term(1, 2);\r
+ l.add(t);\r
+ t = new Term(5, 6);\r
+ l.add(t);\r
+ t1 = new Term(3, 4);\r
+ break;\r
+ case 2:\r
+ t = new Term(1, 2);\r
+ l.add(t);\r
+ t = new Term(3, 4);\r
+ l.add(t);\r
+ t1 = new Term(2, 3);\r
+ break;\r
+ }\r
+ \r
+ Scheduler sc = new Scheduler();\r
+ sc.add(l, t1);\r
+\r
+ switch (i){\r
+ case 0:\r
+ TestUtil.equal(l.size(), 1);\r
+ TestUtil.isTrue(l.get(0).equals(new Term(1, 4)));\r
+ break;\r
+ case 1:\r
+ TestUtil.equal(l.size(), 3);\r
+ TestUtil.isTrue(l.get(0).equals(new Term(1, 2)));\r
+ TestUtil.isTrue(l.get(1).equals(new Term(3, 4)));\r
+ TestUtil.isTrue(l.get(2).equals(new Term(5, 6)));\r
+ break;\r
+ case 2:\r
+ TestUtil.equal(l.size(), 1);\r
+ TestUtil.isTrue(l.get(0).equals(new Term(1, 4)));\r
+ break;\r
+ } \r
+ }\r
+ }\r
+ \r
+ public static void test_isContain() throws TestException{\r
+ Term t1;\r
+ Term t2;\r
+ boolean b;\r
+ int from1 = -1;\r
+ int to1 = -1;\r
+ int from2 = -1;\r
+ int to2 = -1;\r
+ Scheduler sc;\r
+ \r
+ for (int i = 0; i < 3; i++){\r
+ switch (i){\r
+ case 0:\r
+ from1 = 1;\r
+ to1 = 3;\r
+ from2 = 2;\r
+ to2 = 4;\r
+ break;\r
+ case 1:\r
+ from1 = 1;\r
+ to1 = 4;\r
+ from2 = 2;\r
+ to2 = 3;\r
+ break;\r
+ case 2:\r
+ from1 = 1;\r
+ to1 = 2;\r
+ from2 = 3;\r
+ to2 = 4;\r
+ break;\r
+ }\r
+ sc = new Scheduler();\r
+ t1 = new Term(from1, to1);\r
+ t2 = new Term(from2, to2);\r
+ b = sc.isContain(t1, t2);\r
+ switch (i){\r
+ case 0:\r
+ TestUtil.isTrue(b);\r
+ break;\r
+ case 1:\r
+ TestUtil.isTrue(b);\r
+ break;\r
+ case 2:\r
+ TestUtil.isFalse(b);\r
+ break;\r
+ }\r
+ } \r
+ }\r
+\r
public static void test_addTermTerm() throws TestException{\r
Term t1;\r
Term t2;\r