OSDN Git Service

テストケース追加
[train-delayed/source.git] / workspace / TrainDelayed / src / com / td / service / SchedulerTest.java
index ee08365..d2e5f3b 100644 (file)
@@ -1,15 +1,24 @@
 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
@@ -17,6 +26,152 @@ public class SchedulerTest {
                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