Skip to content
This repository was archived by the owner on Dec 23, 2023. It is now read-only.

Commit d35078b

Browse files
authored
Merge pull request #17 from sebright/guava-testlib
Simplifies equals/hashCode tests by using guava-testlib.
2 parents d522f90 + ca12a0c commit d35078b

File tree

7 files changed

+65
-66
lines changed

7 files changed

+65
-66
lines changed

BUILD

Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -48,6 +48,7 @@ java_test(
4848
":census-core",
4949
":census-core_native",
5050
"@guava//jar",
51+
"@guava_testlib//jar",
5152
"@jsr305//jar",
5253
"@junit//jar",
5354
"@truth//jar",
@@ -93,6 +94,20 @@ java_test(
9394
],
9495
)
9596

97+
java_test(
98+
name = "MetricNameTest",
99+
srcs = ["core/javatests/com/google/census/MetricNameTest.java"],
100+
deps = [
101+
":census-core",
102+
":census-core_native",
103+
"@guava//jar",
104+
"@guava_testlib//jar",
105+
"@jsr305//jar",
106+
"@junit//jar",
107+
"@truth//jar",
108+
],
109+
)
110+
96111
java_test(
97112
name = "ProviderTest",
98113
srcs = ["core/javatests/com/google/census/ProviderTest.java"],
@@ -126,6 +141,7 @@ java_test(
126141
":census-core",
127142
":census-core_native",
128143
"@guava//jar",
144+
"@guava_testlib//jar",
129145
"@jsr305//jar",
130146
"@junit//jar",
131147
"@truth//jar",
@@ -139,6 +155,7 @@ java_test(
139155
":census-core",
140156
":census-core_native",
141157
"@guava//jar",
158+
"@guava_testlib//jar",
142159
"@jsr305//jar",
143160
"@junit//jar",
144161
"@truth//jar",
@@ -152,6 +169,7 @@ java_test(
152169
":census-core",
153170
":census-core_native",
154171
"@guava//jar",
172+
"@guava_testlib//jar",
155173
"@jsr305//jar",
156174
"@junit//jar",
157175
"@truth//jar",

WORKSPACE

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -14,6 +14,11 @@ maven_jar(
1414
artifact = "com.google.guava:guava:19.0",
1515
)
1616

17+
maven_jar(
18+
name = "guava_testlib",
19+
artifact = "com.google.guava:guava-testlib:19.0",
20+
)
21+
1722
maven_jar(
1823
name = "jsr305",
1924
artifact = "com.google.code.findbugs:jsr305:3.0.0",

core/javatests/com/google/census/CensusContextTest.java

Lines changed: 16 additions & 23 deletions
Original file line numberDiff line numberDiff line change
@@ -15,13 +15,13 @@
1515

1616
import static com.google.common.truth.Truth.assertThat;
1717

18-
import org.junit.Test;
19-
import org.junit.runner.RunWith;
20-
import org.junit.runners.JUnit4;
21-
18+
import com.google.common.testing.EqualsTester;
2219
import java.util.concurrent.ExecutorService;
2320
import java.util.concurrent.Executors;
2421
import java.util.concurrent.Future;
22+
import org.junit.Test;
23+
import org.junit.runner.RunWith;
24+
import org.junit.runners.JUnit4;
2525

2626
/**
2727
* Tests for {@link CensusContext}.
@@ -145,27 +145,20 @@ public void testMultipleThreadsWithContext() throws Exception {
145145
}
146146

147147
// Tests for Object overrides.
148-
@Test
149-
public void testEquals() {
150-
assertThat(DEFAULT).isEqualTo(DEFAULT.builder().build());
151-
assertThat(DEFAULT.with(K1, V1)).isEqualTo(DEFAULT.with(K1, V1));
152-
assertThat(DEFAULT.with(K1, V1, K2, V2)).isEqualTo(DEFAULT.with(K1, V1, K2, V2));
153-
assertThat(DEFAULT.with(K1, V1, K2, V2)).isEqualTo(DEFAULT.with(K2, V2, K1, V1));
154-
155-
assertThat(DEFAULT).isNotEqualTo(DEFAULT.with(K1, V1));
156-
assertThat(DEFAULT.with(K1, V1)).isNotEqualTo(DEFAULT);
157-
assertThat(DEFAULT.with(K1, V1)).isNotEqualTo(DEFAULT.with(K10, V1));
158-
assertThat(DEFAULT.with(K1, V1)).isNotEqualTo(DEFAULT.with(K1, V10));
159-
assertThat(DEFAULT.with(K1, V1)).isNotEqualTo(DEFAULT.with(K1, V1, K2, V2));
160-
assertThat(DEFAULT.with(K1, V1)).isNotEqualTo("foo");
161-
}
162148

163149
@Test
164-
public void testHashCode() {
165-
assertThat(DEFAULT.with(K1, V1).hashCode()).isEqualTo(DEFAULT.with(K1, V1).hashCode());
166-
assertThat(DEFAULT.with(K1, V1).hashCode()).isNotEqualTo(DEFAULT.hashCode());
167-
assertThat(DEFAULT.with(K10, V1).hashCode()).isNotEqualTo(DEFAULT.with(K1, V1).hashCode());
168-
assertThat(DEFAULT.with(K1, V10).hashCode()).isNotEqualTo(DEFAULT.with(K1, V1).hashCode());
150+
public void testEquals() {
151+
new EqualsTester()
152+
.addEqualityGroup(DEFAULT, DEFAULT)
153+
.addEqualityGroup(DEFAULT.with(K1, V1), DEFAULT.with(K1, V1))
154+
.addEqualityGroup(
155+
DEFAULT.with(K1, V1, K2, V2),
156+
DEFAULT.with(K1, V1, K2, V2),
157+
DEFAULT.with(K2, V2, K1, V1))
158+
.addEqualityGroup(DEFAULT.with(K10, V1))
159+
.addEqualityGroup(DEFAULT.with(K1, V10))
160+
.addEqualityGroup("foo")
161+
.testEquals();
169162
}
170163

171164
@Test

core/javatests/com/google/census/MetricNameTest.java

Lines changed: 6 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -15,12 +15,12 @@
1515

1616
import static com.google.common.truth.Truth.assertThat;
1717

18+
import com.google.common.testing.EqualsTester;
19+
import java.util.Arrays;
1820
import org.junit.Test;
1921
import org.junit.runner.RunWith;
2022
import org.junit.runners.JUnit4;
2123

22-
import java.util.Arrays;
23-
2424
/**
2525
* Tests for {@link MetricName}
2626
*/
@@ -44,14 +44,10 @@ public void testNameBadChar() {
4444

4545
@Test
4646
public void testEquals() {
47-
assertThat(new MetricName("foo").equals(new MetricName("foo"))).isTrue();
48-
assertThat(new MetricName("foo").equals(new MetricName("bar"))).isFalse();
49-
}
50-
51-
@Test
52-
public void testHashCode() {
53-
assertThat(new MetricName("foo").hashCode()).isEqualTo(new MetricName("foo").hashCode());
54-
assertThat(new MetricName("foo").hashCode()).isNotEqualTo(new MetricName("bar").hashCode());
47+
new EqualsTester()
48+
.addEqualityGroup(new MetricName("foo"), new MetricName("foo"))
49+
.addEqualityGroup(new MetricName("bar"))
50+
.testEquals();
5551
}
5652

5753
@Test

core/javatests/com/google/census/TagKeyTest.java

Lines changed: 6 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -16,12 +16,12 @@
1616

1717
import static com.google.common.truth.Truth.assertThat;
1818

19+
import com.google.common.testing.EqualsTester;
20+
import java.util.Arrays;
1921
import org.junit.Test;
2022
import org.junit.runner.RunWith;
2123
import org.junit.runners.JUnit4;
2224

23-
import java.util.Arrays;
24-
2525
/**
2626
* Tests for {@link TagKey}
2727
*/
@@ -46,14 +46,10 @@ public void testKeyBadChar() {
4646

4747
@Test
4848
public void testEquals() {
49-
assertThat(new TagKey("foo").equals(new TagKey("foo"))).isTrue();
50-
assertThat(new TagKey("foo").equals(new TagKey("bar"))).isFalse();
51-
}
52-
53-
@Test
54-
public void testHashCode() {
55-
assertThat(new TagKey("foo").hashCode()).isEqualTo(new TagKey("foo").hashCode());
56-
assertThat(new TagKey("foo").hashCode()).isNotEqualTo(new TagKey("bar").hashCode());
49+
new EqualsTester()
50+
.addEqualityGroup(new TagKey("foo"), new TagKey("foo"))
51+
.addEqualityGroup(new TagKey("bar"))
52+
.testEquals();
5753
}
5854

5955
@Test

core/javatests/com/google/census/TagTest.java

Lines changed: 8 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -15,6 +15,7 @@
1515

1616
import static com.google.common.truth.Truth.assertThat;
1717

18+
import com.google.common.testing.EqualsTester;
1819
import org.junit.Test;
1920
import org.junit.runner.RunWith;
2021
import org.junit.runners.JUnit4;
@@ -50,19 +51,13 @@ public void testSetValue() {
5051

5152
@Test
5253
public void testEquals() {
53-
assertThat(new Tag("key", "val").equals(new Tag(KEY, VAL))).isTrue();
54-
assertThat(new Tag("key1", "val").equals(new Tag(KEY, VAL))).isFalse();
55-
assertThat(new Tag("key", "val1").equals(new Tag(KEY, VAL))).isFalse();
56-
assertThat(new Tag("key1", "val1").equals(new Tag(KEY, VAL))).isFalse();
57-
assertThat(new Tag("key", "val").equals("foo")).isFalse();
58-
}
59-
60-
@Test
61-
public void testHashCode() {
62-
assertThat(new Tag("key", "val").hashCode()).isEqualTo(new Tag(KEY, VAL).hashCode());
63-
assertThat(new Tag("key1", "val").hashCode()).isNotEqualTo(new Tag(KEY, VAL).hashCode());
64-
assertThat(new Tag("key", "val1").hashCode()).isNotEqualTo(new Tag(KEY, VAL).hashCode());
65-
assertThat(new Tag("key1", "val1").hashCode()).isNotEqualTo(new Tag(KEY, VAL).hashCode());
54+
new EqualsTester()
55+
.addEqualityGroup(new Tag("key", "val"), new Tag(KEY, VAL))
56+
.addEqualityGroup(new Tag("key1", "val"))
57+
.addEqualityGroup(new Tag("key", "val1"))
58+
.addEqualityGroup(new Tag("key1", "val1"))
59+
.addEqualityGroup("foo")
60+
.testEquals();
6661
}
6762

6863
private static final TagKey KEY = new TagKey("key");

core/javatests/com/google/census/TagValueTest.java

Lines changed: 6 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -15,12 +15,12 @@
1515

1616
import static com.google.common.truth.Truth.assertThat;
1717

18+
import com.google.common.testing.EqualsTester;
19+
import java.util.Arrays;
1820
import org.junit.Test;
1921
import org.junit.runner.RunWith;
2022
import org.junit.runners.JUnit4;
2123

22-
import java.util.Arrays;
23-
2424
/**
2525
* Tests for {@link TagValue}
2626
*/
@@ -45,14 +45,10 @@ public void testValueBadChar() {
4545

4646
@Test
4747
public void testEquals() {
48-
assertThat(new TagValue("foo").equals(new TagValue("foo"))).isTrue();
49-
assertThat(new TagValue("foo").equals(new TagValue("bar"))).isFalse();
50-
}
51-
52-
@Test
53-
public void testHashCode() {
54-
assertThat(new TagValue("foo").hashCode()).isEqualTo(new TagValue("foo").hashCode());
55-
assertThat(new TagValue("foo").hashCode()).isNotEqualTo(new TagValue("bar").hashCode());
48+
new EqualsTester()
49+
.addEqualityGroup(new TagValue("foo"), new TagValue("foo"))
50+
.addEqualityGroup(new TagValue("bar"))
51+
.testEquals();
5652
}
5753

5854
@Test

0 commit comments

Comments
 (0)