ExprTupleValue extends AbstractExprValue { @Override public Map<String, ExprValue> tupleValue() { return valueMap; }  static ExprTupleValue fromExprValueMap(Map<String, ExprValue> map); @Override Object value(); @Override ExprType type(); @Override String toString(); @Override BindingTuple bindingTuples(); @Override Map<String, ExprValue> tupleValue(); boolean equal(ExprValue o); @Override int compare(ExprValue other); @Override int hashCode();  }
@Test public void equal_to_itself() { ExprValue tupleValue = ExprValueUtils.tupleValue(ImmutableMap.of("integer_value", 2)); assertTrue(tupleValue.equals(tupleValue)); }
@Test public void tuple_compare_int() { ExprValue tupleValue = ExprValueUtils.tupleValue(ImmutableMap.of("integer_value", 2)); ExprValue intValue = ExprValueUtils.integerValue(10); assertFalse(tupleValue.equals(intValue)); }
@Test public void compare_tuple_with_different_key() { ExprValue tupleValue1 = ExprValueUtils.tupleValue(ImmutableMap.of("value", 2)); ExprValue tupleValue2 = ExprValueUtils.tupleValue(ImmutableMap.of("integer_value", 2, "float_value", 1f)); assertNotEquals(tupleValue1, tupleValue2); assertNotEquals(tupleValue2, tupleValue1); }
@Test public void compare_tuple_with_different_size() { ExprValue tupleValue1 = ExprValueUtils.tupleValue(ImmutableMap.of("integer_value", 2)); ExprValue tupleValue2 = ExprValueUtils.tupleValue(ImmutableMap.of("integer_value", 2, "float_value", 1f)); assertFalse(tupleValue1.equals(tupleValue2)); assertFalse(tupleValue2.equals(tupleValue1)); }