class SortTestObject implements IComparableMore, IInspectable, ICloneable {
    int value;

    SortTestObject(int value) {
        self.value = value;
    }

    virtual String toString() {
        return self.value.toString();
    }

    virtual SortTestObject clone() throws Exception {
        SortTestObject new_object = new SortTestObject();
        new_object.value = self.value;
        return new_object;
    }

    int getValue() {
        return self.value;
    }

    virtual bool operator==(SortTestObject right) {
        return self.value == right.value;
    }

    virtual bool operator!=(SortTestObject right) {
        return self.value != right.value;
    }

    virtual bool operator>(SortTestObject right) {
        return self.value > right.value;
    }

    virtual bool operator<(SortTestObject right) {
        return self.value < right.value;
    }

    virtual bool operator>=(SortTestObject right) {
        return self.value >= right.value;
    }

    virtual bool operator<=(SortTestObject right) {
        return self.value <= right.value
    }
}

