'Equality operator.
Comparison is done by comparing all attribute values to those in the other
instance.  Objects which are not of the same type are not equal.
Args:
other: Other object to compare against.
Returns:
True if validated objects are equal, else False.'

def __eq__(self, other):

    if (type(self) != type(other)):
        return False
    for key in self.ATTRIBUTES.iterkeys():
        if (getattr(self, key) != getattr(other, key)):
            return False
    return True
