aboutsummaryrefslogtreecommitdiffhomepage
path: root/src/test/java
diff options
context:
space:
mode:
authorGravatar cpeyser <cpeyser@google.com>2018-04-30 08:07:08 -0700
committerGravatar Copybara-Service <copybara-piper@google.com>2018-04-30 08:08:13 -0700
commita6b141d89e68e77c7d1df10b072f838a7dba99ae (patch)
treedd328242d253563e41b7366b8201d8e77e0dfd3f /src/test/java
parent3e50e3565b1d39a8ab82d817bca9bc2eb3ca8fc1 (diff)
Refactor NestedSet to permit alternate NestedSetStore implementations.
PiperOrigin-RevId: 194787067
Diffstat (limited to 'src/test/java')
-rw-r--r--src/test/java/com/google/devtools/build/lib/BUILD1
-rw-r--r--src/test/java/com/google/devtools/build/lib/collect/nestedset/NestedSetCodecTest.java63
2 files changed, 4 insertions, 60 deletions
diff --git a/src/test/java/com/google/devtools/build/lib/BUILD b/src/test/java/com/google/devtools/build/lib/BUILD
index 3ac58e14db..c626bf2436 100644
--- a/src/test/java/com/google/devtools/build/lib/BUILD
+++ b/src/test/java/com/google/devtools/build/lib/BUILD
@@ -222,6 +222,7 @@ java_test(
"//src/main/java/com/google/devtools/build/lib/actions:commandline_item",
"//src/main/java/com/google/devtools/build/lib/collect/nestedset",
"//src/main/java/com/google/devtools/build/lib/collect/nestedset:fingerprint_cache",
+ "//src/main/java/com/google/devtools/build/lib/collect/nestedset:testutils",
"//src/main/java/com/google/devtools/build/lib/skyframe/serialization",
"//src/main/java/com/google/devtools/build/lib/skyframe/serialization:constants",
"//src/main/java/com/google/devtools/build/lib/skyframe/serialization/testutils",
diff --git a/src/test/java/com/google/devtools/build/lib/collect/nestedset/NestedSetCodecTest.java b/src/test/java/com/google/devtools/build/lib/collect/nestedset/NestedSetCodecTest.java
index 4ad1f0494b..76ff071578 100644
--- a/src/test/java/com/google/devtools/build/lib/collect/nestedset/NestedSetCodecTest.java
+++ b/src/test/java/com/google/devtools/build/lib/collect/nestedset/NestedSetCodecTest.java
@@ -13,13 +13,10 @@
// limitations under the License.
package com.google.devtools.build.lib.collect.nestedset;
-import static com.google.common.truth.Truth.assertThat;
-
import com.google.common.collect.ImmutableMap;
import com.google.devtools.build.lib.skyframe.serialization.AutoRegistry;
import com.google.devtools.build.lib.skyframe.serialization.ObjectCodecs;
import com.google.devtools.build.lib.skyframe.serialization.SerializationConstants;
-import com.google.devtools.build.lib.skyframe.serialization.testutils.SerializationTester;
import org.junit.After;
import org.junit.Before;
import org.junit.Test;
@@ -30,10 +27,6 @@ import org.mockito.Mockito;
/** Tests for {@link NestedSet} serialization. */
@RunWith(JUnit4.class)
public class NestedSetCodecTest {
-
- private static final NestedSet<String> SHARED_NESTED_SET =
- NestedSetBuilder.<String>stableOrder().add("e").build();
-
@Before
public void setUp() {
SerializationConstants.shouldSerializeNestedSet = true;
@@ -49,7 +42,7 @@ public class NestedSetCodecTest {
ObjectCodecs objectCodecs =
new ObjectCodecs(
AutoRegistry.get().getBuilder().setAllowDefaultCodec(true).build(), ImmutableMap.of());
- checkCodec(objectCodecs);
+ NestedSetCodecTestUtils.checkCodec(objectCodecs);
}
@Test
@@ -59,10 +52,10 @@ public class NestedSetCodecTest {
AutoRegistry.get()
.getBuilder()
.setAllowDefaultCodec(true)
- .add(new NestedSetCodecWithStore<>(new NestedSetStore()))
+ .add(new NestedSetCodecWithStore<>(NestedSetStore.inMemory()))
.build(),
ImmutableMap.of());
- checkCodec(objectCodecs);
+ NestedSetCodecTestUtils.checkCodec(objectCodecs);
}
@Test
@@ -81,54 +74,4 @@ public class NestedSetCodecTest {
NestedSet<String> singletonNestedSet = new NestedSet<>(Order.STABLE_ORDER, "a");
objectCodecs.serialize(singletonNestedSet);
}
-
- private void checkCodec(ObjectCodecs objectCodecs) throws Exception {
- new SerializationTester(
- NestedSetBuilder.emptySet(Order.STABLE_ORDER),
- NestedSetBuilder.emptySet(Order.NAIVE_LINK_ORDER),
- NestedSetBuilder.create(Order.STABLE_ORDER, "a"),
- NestedSetBuilder.create(Order.STABLE_ORDER, "a", "b", "c"),
- NestedSetBuilder.<String>stableOrder()
- .add("a")
- .add("b")
- .addTransitive(
- NestedSetBuilder.<String>stableOrder()
- .add("c")
- .addTransitive(SHARED_NESTED_SET)
- .build())
- .addTransitive(
- NestedSetBuilder.<String>stableOrder()
- .add("d")
- .addTransitive(SHARED_NESTED_SET)
- .build())
- .addTransitive(NestedSetBuilder.emptySet(Order.STABLE_ORDER))
- .build())
- .setObjectCodecs(objectCodecs)
- .setVerificationFunction(NestedSetCodecTest::verifyDeserialization)
- .runTests();
- }
-
- private static void verifyDeserialization(
- NestedSet<String> subject, NestedSet<String> deserialized) {
- assertThat(subject.getOrder()).isEqualTo(deserialized.getOrder());
- assertThat(subject.toSet()).isEqualTo(deserialized.toSet());
- verifyStructure(subject.rawChildren(), deserialized.rawChildren());
- }
-
- private static void verifyStructure(Object lhs, Object rhs) {
- if (lhs == NestedSet.EMPTY_CHILDREN) {
- assertThat(rhs).isSameAs(NestedSet.EMPTY_CHILDREN);
- } else if (lhs instanceof Object[]) {
- assertThat(rhs).isInstanceOf(Object[].class);
- Object[] lhsArray = (Object[]) lhs;
- Object[] rhsArray = (Object[]) rhs;
- int n = lhsArray.length;
- assertThat(rhsArray).hasLength(n);
- for (int i = 0; i < n; ++i) {
- verifyStructure(lhsArray[i], rhsArray[i]);
- }
- } else {
- assertThat(lhs).isEqualTo(rhs);
- }
- }
}