openfermion.testing.EqualsTester

Tests equality against user-provided disjoint equivalence groups.

Methods

add_equality_group

View source

Tries to add a disjoint equivalence group to the equality tester. This methods asserts that items within the group must all be equal to each other, but not equal to any items in other groups that have been or will be added.

Args
*group_items The items making up the equivalence group.

Raises
AssertError Items within the group are not equal to each other, or items in another group are equal to items within the new group, or the items violate the equals-implies-same-hash rule.

make_equality_pair

View source

Tries to add a disjoint (item, item) group to the equality tester. Uses the factory method to produce two different objects containing equal items. Asserts that the two object are equal, but not equal to any items in other groups that have been or will be added. Adds the pair as a group.

Args
factory Callable[[], Any]

A method for producing independent copies of an item.

Raises
AssertError The factory produces items not equal to each other, or items in another group are equal to items from the factory, or the items violate the equal-implies-same-hash rule.