Fixes issue #116: org.testng.internal.BaseTestMethod does respect general contract of Comparable
diff --git a/pom-test.xml b/pom-test.xml
index 0af9d07..8a29968 100644
--- a/pom-test.xml
+++ b/pom-test.xml
@@ -65,9 +65,14 @@
<version>1.27</version>
</dependency>
<dependency>
+ <groupId>org.yaml</groupId>
+ <artifactId>snakeyaml</artifactId>
+ <version>1.12</version>
+ </dependency>
+ <dependency>
<groupId>org.testng</groupId>
<artifactId>testng</artifactId>
- <version>6.8.6-SNAPSHOT</version>
+ <version>6.8.8-SNAPSHOT</version>
<scope>test</scope>
</dependency>
</dependencies>
diff --git a/src/main/java/org/testng/internal/BaseTestMethod.java b/src/main/java/org/testng/internal/BaseTestMethod.java
index 8aa78a7..5257ebd 100755
--- a/src/main/java/org/testng/internal/BaseTestMethod.java
+++ b/src/main/java/org/testng/internal/BaseTestMethod.java
@@ -153,7 +153,9 @@
int result = -2;
Class<?> thisClass = getRealClass();
Class<?> otherClass = ((ITestNGMethod) o).getRealClass();
- if (thisClass.isAssignableFrom(otherClass)) {
+ if (this == o) {
+ result = 0;
+ } else if (thisClass.isAssignableFrom(otherClass)) {
result = -1;
} else if (otherClass.isAssignableFrom(thisClass)) {
result = 1;