You do not have a crack in the agreement (an excellent term, by the way!). Convention (2) does not apply, as for properties, not fields or constants. So you can call it something like UnicornColor .
As a side note, I appreciate that this is probably not your real code (unless you really are writing a Unicorn simulator!), But it seems to me that having the BlueUnicorn class is wrong. Having a class defined based on a specific constant inside this class seems too specific - is it really that Color will be an attribute of the Unicorn class?
I donβt know if this applies to your real code, but maybe your design is a bit wrong and the question never arises?
source share