// -------------------------------------------------------------------------
 public void test_withExternalIdRemoved_match() {
   ExternalIdSearch base = ExternalIdSearch.of(ExternalId.of("A", "B"));
   assertEquals(1, base.size());
   ExternalIdSearch test = base.withExternalIdRemoved(ExternalId.of("A", "B"));
   assertEquals(1, base.size());
   assertEquals(0, test.size());
 }
 public void test_withExternalIdRemoved_noMatch() {
   ExternalIdSearch base = ExternalIdSearch.of(ExternalId.of("A", "B"));
   assertEquals(1, base.size());
   ExternalIdSearch test = base.withExternalIdRemoved(ExternalId.of("A", "C"));
   assertEquals(1, base.size());
   assertEquals(1, test.size());
   assertTrue(test.getExternalIds().contains(ExternalId.of("A", "B")));
 }
 public void test_withExternalIdsAdded_iterable() {
   ExternalIdSearch base = ExternalIdSearch.of(ExternalId.of("A", "B"));
   assertEquals(1, base.size());
   ExternalIdSearch test =
       base.withExternalIdsAdded(Arrays.asList(ExternalId.of("A", "C"), ExternalId.of("D", "E")));
   assertEquals(1, base.size());
   assertEquals(3, test.size());
   assertTrue(test.getExternalIds().contains(ExternalId.of("A", "B")));
   assertTrue(test.getExternalIds().contains(ExternalId.of("A", "C")));
   assertTrue(test.getExternalIds().contains(ExternalId.of("D", "E")));
 }
 public void test_constructor_IterableType_two() {
   ExternalIdSearch test =
       ExternalIdSearch.of(ExternalIdSearchType.EXACT, Arrays.asList(_id11, _id12));
   assertEquals(2, test.size());
   assertEquals(Sets.newHashSet(_id11, _id12), test.getExternalIds());
   assertEquals(ExternalIdSearchType.EXACT, test.getSearchType());
 }
 // -------------------------------------------------------------------------
 public void test_constructor_Iterable_empty() {
   ExternalIdSearch test = ExternalIdSearch.of(new ArrayList<ExternalId>());
   assertEquals(0, test.size());
 }
 public void test_constructor_varargs_twoExternalIds() {
   ExternalId[] args = new ExternalId[] {_id11, _id12};
   ExternalIdSearch test = ExternalIdSearch.of(args);
   assertEquals(2, test.size());
   assertEquals(Sets.newHashSet(_id11, _id12), test.getExternalIds());
 }
 // -------------------------------------------------------------------------
 public void test_constructor_varargs_noExternalIds() {
   ExternalId[] args = new ExternalId[0];
   ExternalIdSearch test = ExternalIdSearch.of(args);
   assertEquals(0, test.size());
 }
 public void test_constructor_ExternalId() {
   ExternalIdSearch test = ExternalIdSearch.of(_id11);
   assertEquals(1, test.size());
   assertEquals(Sets.newHashSet(_id11), test.getExternalIds());
   assertEquals(ExternalIdSearchType.ANY, test.getSearchType());
 }
 // -------------------------------------------------------------------------
 public void test_constructor_noargs() {
   ExternalIdSearch test = ExternalIdSearch.of();
   assertEquals(0, test.size());
 }
 // -------------------------------------------------------------------------
 public void test_constructor_IterableType_empty() {
   ExternalIdSearch test =
       ExternalIdSearch.of(ExternalIdSearchType.EXACT, new ArrayList<ExternalId>());
   assertEquals(0, test.size());
   assertEquals(ExternalIdSearchType.EXACT, test.getSearchType());
 }