diff options
author | cpeyser <cpeyser@google.com> | 2018-04-30 08:07:08 -0700 |
---|---|---|
committer | Copybara-Service <copybara-piper@google.com> | 2018-04-30 08:08:13 -0700 |
commit | a6b141d89e68e77c7d1df10b072f838a7dba99ae (patch) | |
tree | dd328242d253563e41b7366b8201d8e77e0dfd3f /src/test/java | |
parent | 3e50e3565b1d39a8ab82d817bca9bc2eb3ca8fc1 (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/BUILD | 1 | ||||
-rw-r--r-- | src/test/java/com/google/devtools/build/lib/collect/nestedset/NestedSetCodecTest.java | 63 |
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); - } - } } |