Tests equality against user-provided disjoint equivalence groups.
View aliases
Main aliases
openfermion.EqualsTester
, openfermion.testing.testing_utils.EqualsTester
openfermion.testing.EqualsTester(
test_case
)
Methods
add_equality_group
add_equality_group(
*group_items
)
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
make_equality_pair(
factory
)
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. |