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

View file

@ -30,6 +30,7 @@ dependencies {
testCompile 'junit:junit-dep:4.10' testCompile 'junit:junit-dep:4.10'
testCompile 'org.hamcrest:hamcrest-library:1.2.1' testCompile 'org.hamcrest:hamcrest-library:1.2.1'
testCompile 'org.mockito:mockito-core:1.8.5' testCompile 'org.mockito:mockito-core:1.8.5'
testCompile 'com.google.guava:guava-testlib:17.0'
} }
task sourcesJar(type: Jar) { task sourcesJar(type: Jar) {
@ -37,6 +38,14 @@ task sourcesJar(type: Jar) {
from sourceSets.main.allSource from sourceSets.main.allSource
} }
test {
testLogging {
events "failed", "skipped"
showStandardStreams true
showExceptions true
}
}
artifacts { artifacts {
archives jar archives jar
archives sourcesJar archives sourcesJar

View file

@ -53,4 +53,18 @@ public class IntegerArgumentType implements CommandArgumentType<Integer> {
throw new IllegalArgumentSyntaxException(); 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;
}
} }

View file

@ -5,6 +5,7 @@ import net.minecraft.commands.context.CommandContextBuilder;
import net.minecraft.commands.context.ParsedArgument; import net.minecraft.commands.context.ParsedArgument;
import net.minecraft.commands.exceptions.ArgumentValidationException; import net.minecraft.commands.exceptions.ArgumentValidationException;
import net.minecraft.commands.exceptions.IllegalArgumentSyntaxException; import net.minecraft.commands.exceptions.IllegalArgumentSyntaxException;
import com.google.common.testing.EqualsTester;
import org.junit.Before; import org.junit.Before;
import org.junit.Test; import org.junit.Test;
@ -65,4 +66,14 @@ public class IntegerArgumentTypeTest {
assertThat(IntegerArgumentType.getInteger(context, "foo"), is(100)); 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();
}
} }