Add more unit tests, make BinaryCondition extend Relation