diff options
author | Janak Ramakrishnan <janakr@google.com> | 2016-10-25 00:11:37 +0000 |
---|---|---|
committer | John Cater <jcater@google.com> | 2016-10-25 20:16:34 +0000 |
commit | dade5e171bb8a82f267513e47ccb63aa7d3d4517 (patch) | |
tree | 45275a1d8fca4dc122b83966ce27bd60bc4d97ca /src/test/java/com/google/devtools/build/lib/util | |
parent | 11730a017e6f79bbd07a6ed29d6d05dc1c87d345 (diff) |
If a group of deps has only one unique element, store it bare.
Not storing it bare both breaks equality comparison for GroupedList and
uses more space.
--
Change-Id: Iaf4f88908ecf4293cfc31dbd896f46e1da3b4184
Reviewed-on: https://bazel-review.googlesource.com/#/c/6850/
MOS_MIGRATED_REVID=137099785
Diffstat (limited to 'src/test/java/com/google/devtools/build/lib/util')
-rw-r--r-- | src/test/java/com/google/devtools/build/lib/util/GroupedListTest.java | 27 |
1 files changed, 27 insertions, 0 deletions
diff --git a/src/test/java/com/google/devtools/build/lib/util/GroupedListTest.java b/src/test/java/com/google/devtools/build/lib/util/GroupedListTest.java index 6ffba0ef34..8ac5230dac 100644 --- a/src/test/java/com/google/devtools/build/lib/util/GroupedListTest.java +++ b/src/test/java/com/google/devtools/build/lib/util/GroupedListTest.java @@ -93,6 +93,33 @@ public class GroupedListTest { } @Test + public void listWithOneUniqueElementStoredBare() { + GroupedList<String> groupedListWithDuplicateInGroup = new GroupedList<>(); + groupedListWithDuplicateInGroup.append(GroupedListHelper.create("a")); + GroupedListHelper<String> helper = new GroupedListHelper<>(); + helper.startGroup(); + helper.add("b"); + helper.add("b"); + helper.endGroup(); + groupedListWithDuplicateInGroup.append(helper); + GroupedList<String> groupedListWithNoDuplicates = new GroupedList<>(); + groupedListWithNoDuplicates.append(GroupedListHelper.create("a")); + groupedListWithNoDuplicates.append(GroupedListHelper.create("b")); + assertThat(groupedListWithNoDuplicates).isEqualTo(groupedListWithDuplicateInGroup); + } + + @Test + public void listWithNoNewElementsStoredEmpty() { + GroupedList<String> groupedListWithEmptyGroup = new GroupedList<>(); + GroupedListHelper<String> helper = GroupedListHelper.create("a"); + helper.add("a"); + groupedListWithEmptyGroup.append(helper); + GroupedList<String> groupedListWithNoDuplicates = new GroupedList<>(); + groupedListWithNoDuplicates.append(GroupedListHelper.create("a")); + assertThat(groupedListWithNoDuplicates).isEqualTo(groupedListWithEmptyGroup); + } + + @Test public void group() { GroupedList<String> groupedList = new GroupedList<>(); assertTrue(groupedList.isEmpty()); |