meaningless comment
[ephemerata.git] / KezvhLib / src-junit / net / kezvh / collections / DualMap / DualMapTest.java
blob0350d49d2f961a4cd3612e538a17d3ce5cc7ba1c
1 /**
3 */
4 package net.kezvh.collections.DualMap;
6 import java.util.Collection;
7 import java.util.Map;
9 import junit.framework.Assert;
10 import junit.framework.TestCase;
12 import org.junit.Test;
14 /**
15 * @author afflux
17 public abstract class DualMapTest extends TestCase {
18 /**
19 * @param <K1> COMMENT
20 * @param <K2> COMMENT
21 * @param <V> COMMENT
22 * @return COMMENT
24 protected abstract <K1, K2, V> DualMap<K1, K2, V> createMap2();
26 /**
29 @Test
30 public void testCreate() {
31 final DualMap<Integer, Integer, Integer> it = this.createMap2();
32 Assert.assertNotNull(it);
35 /**
38 @Test
39 public void testPut() {
40 final DualMap<Integer, Integer, Integer> it = this.createMap2();
41 final Integer previous = it.put(1, 2, 3);
42 Assert.assertNull(previous);
45 /**
48 @Test
49 public void testReput() {
50 final DualMap<Integer, Integer, Integer> it = this.createMap2();
51 it.put(1, 2, 3);
52 final int previous = it.put(1, 2, 4);
53 Assert.assertEquals(3, previous);
54 final int current = it.get(1, 2);
55 Assert.assertEquals(4, current);
58 /**
61 @Test
62 public void testRemove() {
63 final DualMap<Integer, Integer, Integer> it = this.createMap2();
64 it.put(1, 2, 3);
65 final int previous = it.remove(1, 2);
66 Assert.assertEquals(3, previous);
69 /**
72 @Test
73 public void testSize() {
74 final DualMap<Integer, Integer, Integer> it = this.createMap2();
75 for (int i = 0; i < 10; i++)
76 for (int j = 0; j < 10; j++)
77 for (int k = 0; k < 4; k++) {
78 it.put(i, j, k);
79 Assert.assertEquals(i * 10 + j + 1, it.size());
82 for (int i = 0; i < 10; i++)
83 for (int j = 0; j < 10; j++)
84 for (int k = 0; k < 4; k++) {
85 it.remove(i, j);
86 Assert.assertEquals(99 - (i * 10 + j), it.size());
90 /**
93 @Test
94 public void test1WayMapSize() {
95 final DualMap<Integer, Integer, Integer> it = this.createMap2();
96 for (int i = 0; i < 10; i++)
97 for (int j = 0; j < 10; j++)
98 for (int k = 0; k < 4; k++)
99 it.put(i, j, k);
101 for (int i = 0; i < 10; i++) {
102 final Map<Integer, Integer> map = it.entryMapOnKey1(i);
103 Assert.assertEquals(10, map.size());
110 @Test
111 public void test1WayMapContents() {
112 final DualMap<Integer, Integer, Integer> it = this.createMap2();
113 for (int i = 0; i < 10; i++)
114 for (int j = 0; j < 10; j++)
115 for (int k = 0; k < 4; k++)
116 it.put(i, j, k);
118 for (int i = 0; i < 10; i++) {
119 final Map<Integer, Integer> map = it.entryMapOnKey1(i);
120 for (int j = 0; j < 10; j++) {
121 final int three = map.get(j);
122 Assert.assertEquals(3, three);
130 @Test
131 public void test1WayMapModifications() {
132 final DualMap<Integer, Integer, Integer> it = this.createMap2();
133 for (int i = 0; i < 10; i++)
134 for (int j = 0; j < 10; j++)
135 for (int k = 0; k < 4; k++)
136 it.put(i, j, k);
138 for (int i = 0; i < 10; i++) {
139 final Map<Integer, Integer> map = it.entryMapOnKey1(i);
140 for (int j = 0; j < 10; j++)
141 for (int k = 2; k >= 0; k--) {
142 final int previous = map.put(j, k);
143 Assert.assertEquals(k + 1, previous);
151 @Test
152 public void testRemove0() {
153 final DualMap<Integer, Integer, Integer> it = this.createMap2();
154 for (int i = 0; i < 10; i++)
155 for (int j = 0; j < 10; j++)
156 it.put(i, j, 10 * i + j);
158 final int value = it.remove(1, 1);
159 Assert.assertEquals(11, value);
160 Assert.assertEquals(99, it.size());
161 Assert.assertEquals(9, it.get1(1).size());
162 Assert.assertEquals(9, it.get2(1).size());
163 Assert.assertEquals(10, it.get1(0).size());
164 Assert.assertEquals(10, it.get2(0).size());
165 Assert.assertEquals(10, it.get1(2).size());
166 Assert.assertEquals(10, it.get2(2).size());
172 @Test
173 public void testRemove1() {
174 final DualMap<Integer, Integer, Integer> it = this.createMap2();
175 for (int i = 0; i < 10; i++)
176 for (int j = 0; j < 10; j++)
177 it.put(i, j, 10 * i + j);
179 Assert.assertEquals(100, it.size());
180 final Collection<Map.Entry<Integer, Integer>> firstRow = it.remove1(1);
181 for (int i = 0; i < 10; i++)
182 if (i == 1)
183 Assert.assertNull("" + i, it.get1(i));
184 else
185 Assert.assertEquals("" + i, 10, it.get1(i).size());
186 Assert.assertEquals(10, firstRow.size());
187 Assert.assertEquals(90, it.size());
188 Assert.assertEquals(9, it.get2(1).size());
194 @Test
195 public void testRemove2() {
196 final DualMap<Integer, Integer, Integer> it = this.createMap2();
197 for (int i = 0; i < 10; i++)
198 for (int j = 0; j < 10; j++)
199 it.put(j, i, 10 * i + j);
201 Assert.assertEquals(100, it.size());
202 final Collection<Map.Entry<Integer, Integer>> firstRow = it.remove2(1);
203 for (int i = 0; i < 10; i++)
204 if (i == 1)
205 Assert.assertNull("" + i, it.get2(i));
206 else
207 Assert.assertEquals("" + i, 10, it.get2(i).size());
208 Assert.assertEquals(10, firstRow.size());
209 Assert.assertEquals(90, it.size());
210 Assert.assertEquals(9, it.get1(1).size());