source: branches/autoquest-core-tasktrees-alignment-test/src/test/java/de/ugoe/cs/autoquest/tasktrees/alignment/algorithms/NumberSequenceTest.java @ 1662

Last change on this file since 1662 was 1662, checked in by rkrimmel, 10 years ago

Changed index updating procedure.

File size: 5.0 KB
Line 
1package de.ugoe.cs.autoquest.tasktrees.alignment.algorithms;
2
3import static org.junit.Assert.*;
4
5import org.junit.Test;
6
7public class NumberSequenceTest {
8
9        @Test
10        public void testContainsPattern() {
11                int[] seq = new int[10];
12                for (int i=0; i<10; i++) {
13                        seq[i] = i;
14                }
15               
16                int[] seq2 = new int[]{1,5,2,6,5,6,4,5,2,6};
17               
18                int[] seq3 = new int[]{0,0,5,6,0,6,9,10,0,12,13,0,15,16,0,13,0,15,21,13,0,15,21,0,0,0,6,0,9,32,0,5,10,0,6,0,9,32,0,5,43,0,6,0,9,5,6,0,9,43,0,6,0,9,32,0,5,6,6,9,43,0,0,0,0};
19       
20               
21                int[] pat1  = new int[]{2,3,4};
22                int[] pat2  = new int[]{2,3,4};
23               
24                int[] pat3  = new int[]{5,-1,6};
25                int[] pat4  = new int[]{1,2,3};
26               
27                int[] pat5  = new int[]{-1,-1,-1};
28               
29                int[] pat6  = new int[]{10,11,12};
30               
31                int[] pat7  = new int[]{8,9,10};
32                int[] pat8  = new int[]{7,6,5};
33               
34                int[] pat9  = new int[]{0};
35                int[] pat10 = new int[]{1};
36               
37                int[] pat11 = new int[]{5,-1,-1,6};
38                int[] pat12 = new int[]{10,12,12,12};
39               
40                int[] pat13 = new int[]{6, 0, 9, 32,0,5,10,0};
41                int[] pat14 = new int[]{6,-1, 71,32,-1,5,10,0};
42               
43                //int[] pat15 = new int[]{6, 0, 6, 9,-1,-1,10,0};
44                //int[] pat16 = new int[]{6,-1, 9,71,32, 5,10,0};
45               
46                NumberSequence ns = new NumberSequence(10);
47                ns.setSequence(seq);
48               
49                NumberSequence ns2 = new NumberSequence(seq3.length);
50                ns2.setSequence(seq3);
51               
52                NumberSequence firstpattern = new NumberSequence(3);
53                NumberSequence secondpattern = new NumberSequence(3);
54               
55                NumberSequence thirdpattern = new NumberSequence(4);
56                NumberSequence forthpattern= new NumberSequence(4);
57               
58                NumberSequence fifthpattern = new NumberSequence(pat13.length);
59                NumberSequence sixthpattern = new NumberSequence(pat14.length);
60               
61                firstpattern.setSequence(pat1);
62                secondpattern.setSequence(pat2);
63               
64                thirdpattern.setSequence(pat11);
65                forthpattern.setSequence(pat12);
66               
67                fifthpattern.setSequence(pat13);
68                sixthpattern.setSequence(pat14);
69               
70               
71                Match pattern = new Match();
72                pattern.setFirstSequence(firstpattern);
73                pattern.setSecondSequence(secondpattern);
74               
75                Match pattern2 = new Match();
76                pattern2.setFirstSequence(thirdpattern);
77                pattern2.setSecondSequence(forthpattern);
78               
79                Match pattern3 = new Match();
80                pattern3.setFirstSequence(fifthpattern);
81                pattern3.setSecondSequence(sixthpattern);
82               
83               
84                assertEquals(Integer.valueOf(2),ns.containsPattern(pattern).get(0));
85                assertEquals(1,ns.containsPattern(pattern).size());
86               
87                firstpattern.setSequence(pat3);
88                secondpattern.setSequence(pat4);
89               
90                assertEquals(Integer.valueOf(1),ns.containsPattern(pattern).get(0));
91                assertEquals(2,ns.containsPattern(pattern).size());
92                assertEquals(Integer.valueOf(5),ns.containsPattern(pattern).get(1));
93               
94       
95                firstpattern.setSequence(pat5);
96                secondpattern.setSequence(pat5);
97                assertEquals(10,ns.containsPattern(pattern).size());
98               
99                firstpattern.setSequence(pat6);
100                secondpattern.setSequence(pat6);
101                assertEquals(0,ns.containsPattern(pattern).size());
102               
103                firstpattern.setSequence(pat7);
104                secondpattern.setSequence(pat8);
105                assertEquals(0,ns.containsPattern(pattern).size());
106               
107                firstpattern.setSequence(pat9);
108                secondpattern.setSequence(pat10);
109                assertEquals(Integer.valueOf(0),ns.containsPattern(pattern).get(0));
110                assertEquals(Integer.valueOf(1),ns.containsPattern(pattern).get(1));
111                assertEquals(2,ns.containsPattern(pattern).size());
112               
113                firstpattern.setSequence(pat11);
114                secondpattern.setSequence(pat12);
115                assertEquals(1,ns.containsPattern(pattern).size());
116                assertEquals(Integer.valueOf(5),ns.containsPattern(pattern).get(0));
117               
118                ns.setSequence(seq2);
119                firstpattern.setSequence(pat3);
120                secondpattern.setSequence(pat4);
121                assertEquals(3,ns.containsPattern(pattern).size());
122                assertEquals(Integer.valueOf(1),ns.containsPattern(pattern).get(0));
123                assertEquals(Integer.valueOf(4),ns.containsPattern(pattern).get(1));
124                assertEquals(Integer.valueOf(7),ns.containsPattern(pattern).get(2));
125               
126               
127                assertEquals(1,ns2.containsPattern(pattern3).size());
128                assertEquals(Integer.valueOf(26),ns2.containsPattern(pattern3).get(0));
129               
130               
131               
132        }
133
134        @Test
135        public void testEventCount() {
136                int[] seq = new int[10];
137                for (int i=0; i<10; i++) {
138                        seq[i] = i;
139                }
140                NumberSequence ns = new NumberSequence(10);
141                ns.setSequence(seq);
142               
143                int[] pat2 = new int[]{-1,-1,-1};
144                int[] pat3 = new int[]{0,1,2,3,0,2};
145               
146                assertEquals(1,ns.eventCount(5));
147               
148                ns.setSequence(pat2);
149                assertEquals(3,ns.eventCount(-1));
150               
151                ns.setSequence(pat3);
152                assertEquals(2,ns.eventCount(0));
153                assertEquals(2,ns.eventCount(2));
154                assertEquals(0,ns.eventCount(5));
155        }
156
157        @Test
158        public void testEqualsNumberSequence() {
159                int[] seq1 = new int[10];
160                for (int i=0; i<10; i++) {
161                        seq1[i] = i;
162                }
163                NumberSequence ns1 = new NumberSequence(10);
164                ns1.setSequence(seq1);
165               
166                int[] seq2 = new int[10];
167                for (int i=0; i<10; i++) {
168                        seq2[i] = i;
169                }
170                NumberSequence ns2 = new NumberSequence(10);
171                ns2.setSequence(seq2);
172               
173                int[] seq3 = new int[10];
174                for (int i=0; i<10; i++) {
175                        seq3[i] = 2*i;
176                }
177                NumberSequence ns3 = new NumberSequence(10);
178                ns3.setSequence(seq3);
179               
180                assertTrue(ns1.equals(ns2));
181                assertFalse(ns1.equals(ns3));
182                assertFalse(ns2.equals(ns3));
183               
184        }
185
186}
Note: See TracBrowser for help on using the repository browser.