SetReducer implements Reducer<Set<T>> { @Override public Set<T> reduce(Set<T> v1, Set<T> v2) { return Sets.union(v1, v2); }  @Override Set<T> reduce(Set<T> v1, Set<T> v2); @Override Set<T> zero(); @Override boolean isZero(Set<T> ts);  }
@Test (dataProvider = "getSets") public void reduceShouldReturnUnionOfTwoSets(Set set1, Set set2, Set union) { assertThat(reducer.reduce(set1, set2)).isEqualTo(union); }