Skip to content

Commit cc9d37b

Browse files
update collection (#198)
1 parent f8902c4 commit cc9d37b

File tree

2 files changed

+155
-0
lines changed

2 files changed

+155
-0
lines changed
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,4 @@
1+
package com.examplehub.basics.collection;
2+
3+
public class CollectionExample {
4+
}
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,151 @@
1+
package com.examplehub.basics.collection;
2+
3+
import org.junit.jupiter.api.Test;
4+
5+
import java.util.ArrayList;
6+
import java.util.Arrays;
7+
import java.util.Collection;
8+
import java.util.Iterator;
9+
10+
import static org.junit.jupiter.api.Assertions.*;
11+
12+
class CollectionExampleTest {
13+
14+
@Test
15+
void testRemove() {
16+
Collection<String> collection = new ArrayList<>();
17+
collection.add("1");
18+
collection.add("2");
19+
collection.add("3");
20+
collection.add("4");
21+
assertTrue(collection.remove("1"));
22+
assertTrue(collection.remove("4"));
23+
assertFalse(collection.remove("5"));
24+
assertEquals("[2, 3]", collection.toString());
25+
}
26+
27+
@Test
28+
void testRemoveAll() {
29+
Collection<String> c1 = new ArrayList<>();
30+
c1.add("1");
31+
c1.add("2");
32+
c1.add("3");
33+
c1.add("4");
34+
35+
Collection<String> c2 = new ArrayList<>();
36+
c2.add("2");
37+
c2.add("3");
38+
c2.add("5");
39+
40+
assertTrue(c1.removeAll(c2));
41+
assertEquals("[1, 4]", c1.toString());
42+
assertEquals("[2, 3, 5]", c2.toString());
43+
}
44+
45+
@Test
46+
void testRetainAll() {
47+
Collection<String> c1 = new ArrayList<>();
48+
c1.add("1");
49+
c1.add("2");
50+
c1.add("3");
51+
c1.add("4");
52+
53+
Collection<String> c2 = new ArrayList<>();
54+
c2.add("2");
55+
c2.add("4");
56+
c2.add("5");
57+
58+
assertTrue(c1.retainAll(c2));
59+
assertEquals("[2, 4]", c1.toString());
60+
}
61+
62+
@Test
63+
void testToArray() {
64+
Collection<String> collection = new ArrayList<>();
65+
collection.add("1");
66+
collection.add("2");
67+
collection.add("3");
68+
collection.add("4");
69+
Object[] objects = collection.toArray();
70+
assertEquals("[1, 2, 3, 4]", Arrays.toString(objects));
71+
}
72+
73+
@Test
74+
void testConvertArrayToCollection() {
75+
String[] digits = {"1", "2", "3", "4"};
76+
Collection<String> collection = Arrays.asList(digits);
77+
assertEquals("[1, 2, 3, 4]", collection.toString());
78+
}
79+
80+
@Test
81+
void testIterator() {
82+
Collection<String> collection = new ArrayList<>();
83+
collection.add("1");
84+
collection.add("2");
85+
collection.add("3");
86+
collection.add("4");
87+
88+
Iterator<String> iterator = collection.iterator();
89+
int count = 1;
90+
while (iterator.hasNext()) {
91+
assertEquals(count++ + "", iterator.next());
92+
}
93+
}
94+
95+
@Test
96+
void testWriteToString() {
97+
Collection<String> collection = new ArrayList<>();
98+
collection.add("1");
99+
collection.add("2");
100+
collection.add("3");
101+
collection.add("4");
102+
103+
Iterator<String> iterator = collection.iterator();
104+
StringBuilder builder = new StringBuilder();
105+
if (!iterator.hasNext()) {
106+
builder.append("[]");
107+
} else {
108+
builder.append("[");
109+
while (iterator.hasNext()) {
110+
String curItem = iterator.next();
111+
if (iterator.hasNext()) {
112+
builder.append(curItem).append(", ");
113+
} else {
114+
builder.append(curItem).append("]");
115+
}
116+
}
117+
}
118+
assertEquals("[1, 2, 3, 4]", builder.toString());
119+
}
120+
121+
@Test
122+
void testRemoveUsingIterator() {
123+
Collection<String> collection = new ArrayList<>();
124+
collection.add("1");
125+
collection.add("2");
126+
collection.add("3");
127+
collection.add("4");
128+
129+
Iterator<String> iterator = collection.iterator();
130+
while (iterator.hasNext()) {
131+
iterator.next();
132+
iterator.remove();
133+
}
134+
assertEquals("[]", collection.toString());
135+
}
136+
137+
138+
@Test
139+
void testForEach() {
140+
Collection<String> collection = new ArrayList<>();
141+
collection.add("1");
142+
collection.add("2");
143+
collection.add("3");
144+
collection.add("4");
145+
146+
int count = 1;
147+
for (String item : collection) {
148+
assertEquals(count++ + "", item);
149+
}
150+
}
151+
}

0 commit comments

Comments
 (0)