Added & tested equals() and hashCode() in IntegerArgumentType

This commit is contained in:
Nathan Adams
2014-09-25 13:18:11 +02:00
parent 5136e3d103
commit fb92c2f3c8
3 changed files with 34 additions and 0 deletions
@@ -53,4 +53,18 @@ public class IntegerArgumentType implements CommandArgumentType<Integer> {
throw new IllegalArgumentSyntaxException();
}
}
@Override
public boolean equals(Object o) {
if (this == o) return true;
if (!(o instanceof IntegerArgumentType)) return false;
IntegerArgumentType that = (IntegerArgumentType) o;
return maximum == that.maximum && minimum == that.minimum;
}
@Override
public int hashCode() {
return 31 * minimum + maximum;
}
}
@@ -5,6 +5,7 @@ import net.minecraft.commands.context.CommandContextBuilder;
import net.minecraft.commands.context.ParsedArgument;
import net.minecraft.commands.exceptions.ArgumentValidationException;
import net.minecraft.commands.exceptions.IllegalArgumentSyntaxException;
import com.google.common.testing.EqualsTester;
import org.junit.Before;
import org.junit.Test;
@@ -65,4 +66,14 @@ public class IntegerArgumentTypeTest {
assertThat(IntegerArgumentType.getInteger(context, "foo"), is(100));
}
@Test
public void testEquals() throws Exception {
new EqualsTester()
.addEqualityGroup(integer(), integer())
.addEqualityGroup(integer(-100, 100), integer(-100, 100))
.addEqualityGroup(integer(-100, 50), integer(-100, 50))
.addEqualityGroup(integer(-50, 100), integer(-50, 100))
.testEquals();
}
}