### Question:
ScriptTypeListValue { public ScriptTypeListValue addValue(ScriptTypeValue value) { this.values.add(value); return this; } ScriptTypeListValue();  ScriptTypeListValue(@MapsTo("values") final List<ScriptTypeValue> values); List<ScriptTypeValue> getValues(); void setValues(List<ScriptTypeValue> values); ScriptTypeListValue addValue(ScriptTypeValue value); boolean isEmpty(); @Override boolean equals(Object o); @Override int hashCode(); @Override String toString();  }### Answer:
@Test public void testScriptTypeListValueEqualsAndHashCode() { EqualsAndHashCodeTestUtils.TestCaseBuilder.newTestCase() .addTrueCase(new ScriptTypeListValue(), new ScriptTypeListValue()) .addTrueCase(new ScriptTypeListValue().addValue(new ScriptTypeValue()), new ScriptTypeListValue().addValue(new ScriptTypeValue())) .addTrueCase(new ScriptTypeListValue().addValue(new ScriptTypeValue(null, null)), new ScriptTypeListValue().addValue(new ScriptTypeValue(null, null))) .addTrueCase(new ScriptTypeListValue().addValue(new ScriptTypeValue("a", "b")), new ScriptTypeListValue().addValue(new ScriptTypeValue("a", "b"))) .addTrueCase(new ScriptTypeListValue().addValue(new ScriptTypeValue("a", null)), new ScriptTypeListValue().addValue(new ScriptTypeValue("a", null))) .addTrueCase(new ScriptTypeListValue().addValue(new ScriptTypeValue(null, "b")), new ScriptTypeListValue().addValue(new ScriptTypeValue(null, "b"))) .addTrueCase(mockList(10), mockList(10)) .addTrueCase(mockList(0), mockList(0)) .addFalseCase(new ScriptTypeListValue().addValue(new ScriptTypeValue("a", "b")), new ScriptTypeListValue().addValue(new ScriptTypeValue("X", "b"))) .addFalseCase(new ScriptTypeListValue().addValue(new ScriptTypeValue("a", "b")), new ScriptTypeListValue().addValue(new ScriptTypeValue("a", "Y"))) .addFalseCase(new ScriptTypeListValue().addValue(new ScriptTypeValue("a", "b")), new ScriptTypeListValue().addValue(new ScriptTypeValue("X", "Y"))) .addFalseCase(mockList(0), mockList(5)) .addFalseCase(mockList(1), mockList(4)) .test(); }