What is Class invariants assertion
A class invariant is an assertion which should be true of any class instance before and after calls of its exported operations. Generally class invariants specify properties of attributes and relationships between attributes in a class. For illustration, suppose a Bin class models containers of discrete items, such as apples or nails. Bin class might have currentSize, spaceLeft, and capacity attributes. One of its class invariants is that currentSize and spaceLeft should always be between zero and capacity; another is that currentSize + spaceLeft = capacity.