Skip to content

Commit 70b5b02

Browse files
authored
Merge pull request #24 from JavaWebStack/tests
Added tests and fixed bug in equals method of AbstractArray
2 parents a3a6f1d + 89d9ed0 commit 70b5b02

File tree

4 files changed

+101
-1
lines changed

4 files changed

+101
-1
lines changed

pom.xml

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -52,6 +52,12 @@
5252
<version>4.7.1</version>
5353
<optional>true</optional>
5454
</dependency>
55+
<dependency>
56+
<groupId>org.junit.jupiter</groupId>
57+
<artifactId>junit-jupiter</artifactId>
58+
<version>5.8.1</version>
59+
<scope>test</scope>
60+
</dependency>
5561
</dependencies>
5662

5763
<build>

src/main/java/org/javawebstack/abstractdata/AbstractArray.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -350,7 +350,7 @@ public boolean equals(Object obj, boolean strict) {
350350
return false;
351351
try {
352352
AbstractArray arr = ((AbstractElement) obj).array(strict);
353-
if (arr.size() != arr.size())
353+
if (size() != arr.size())
354354
return false;
355355

356356
for (int i = 0; i < size(); i++) {
Lines changed: 44 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,44 @@
1+
package org.javawebstack.abstractdata;
2+
3+
import org.junit.jupiter.api.Test;
4+
5+
import static org.junit.jupiter.api.Assertions.*;
6+
7+
class AbstractArrayTest {
8+
9+
@Test
10+
void testEqualsNormal() {
11+
AbstractArray first = new AbstractArray();
12+
first.add("Hello");
13+
AbstractArray second = new AbstractArray();
14+
second.add("World");
15+
16+
assertFalse(first.equals(second));
17+
assertFalse(second.equals(first));
18+
19+
second.set(0, "Hello");
20+
21+
assertTrue(first.equals(second));
22+
assertTrue(second.equals(first));
23+
}
24+
25+
@Test
26+
void testEqualsDifferentSizes() {
27+
AbstractArray first = new AbstractArray();
28+
first.add("Hello");
29+
AbstractArray second = new AbstractArray();
30+
second.add("Hello");
31+
second.add("World");
32+
33+
assertFalse(first.equals(second));
34+
assertFalse(second.equals(first));
35+
}
36+
37+
@Test
38+
void testEqualsSpecial() {
39+
AbstractArray first = new AbstractArray();
40+
first.add("Hello");
41+
assertFalse(first.equals(""));
42+
assertFalse(first.equals(null));
43+
}
44+
}
Lines changed: 50 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,50 @@
1+
package org.javawebstack.abstractdata;
2+
3+
import org.junit.jupiter.api.Test;
4+
5+
import static org.junit.jupiter.api.Assertions.*;
6+
7+
class AbstractObjectTest {
8+
9+
@Test
10+
void testEqualsNormal() {
11+
AbstractObject first = new AbstractObject()
12+
.set("a", "b")
13+
.set("b", "c");
14+
AbstractObject second = new AbstractObject()
15+
.set("a", "b")
16+
.set("b", "c");
17+
18+
// normal case
19+
assertTrue(first.equals(second));
20+
assertTrue(second.equals(first));
21+
22+
second.set("a", "d");
23+
assertFalse(first.equals(second));
24+
assertFalse(second.equals(first));
25+
26+
// different sizes
27+
first.set("d" ,"a");
28+
assertFalse(first.equals(second));
29+
assertFalse(second.equals(first));
30+
}
31+
32+
@Test
33+
void testDifferentKeys() {
34+
AbstractObject first = new AbstractObject()
35+
.set("a", "b");
36+
AbstractObject second = new AbstractObject()
37+
.set("b", "c");
38+
39+
assertFalse(first.equals(second));
40+
}
41+
42+
@Test
43+
void testEqualsSpecial() {
44+
AbstractObject first = new AbstractObject()
45+
.set("a", "b")
46+
.set("b", "c");
47+
assertFalse(first.equals(null));
48+
assertFalse(first.equals(""));
49+
}
50+
}

0 commit comments

Comments
 (0)