### Question:
AllOrNoneValueSet implements ValueSet { @Override public ValueSet union(ValueSet other) { AllOrNoneValueSet otherValueSet = checkCompatibility(other); return new AllOrNoneValueSet(type, all || otherValueSet.all); } @JsonCreator  AllOrNoneValueSet(@JsonProperty("type") Type type, @JsonProperty("all") boolean all); @Override @JsonProperty Type getType(); @Override boolean isNone(); @Override @JsonProperty boolean isAll(); @Override boolean isSingleValue(); @Override Object getSingleValue(); @Override boolean isDiscreteSet(); @Override List<Object> getDiscreteSet(); @Override boolean containsValue(Object value); AllOrNone getAllOrNone(); @Override ValuesProcessor getValuesProcessor(); @Override ValueSet intersect(ValueSet other); @Override ValueSet union(ValueSet other); @Override ValueSet complement(); @Override String toString(); @Override String toString(ConnectorSession session); @Override int hashCode(); @Override boolean equals(Object obj);  }### Answer:
@Test public void testUnion() { AllOrNoneValueSet all = AllOrNoneValueSet.all(HYPER_LOG_LOG); AllOrNoneValueSet none = AllOrNoneValueSet.none(HYPER_LOG_LOG); assertEquals(all.union(all), all); assertEquals(all.union(none), all); assertEquals(none.union(all), all); assertEquals(none.union(none), none); }