Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We鈥檒l occasionally send you account related emails.

Already on GitHub? Sign in to your account

Changes to Equality classes. #265

Draft
wants to merge 1 commit into
base: master
Choose a base branch
from
Draft

Changes to Equality classes. #265

wants to merge 1 commit into from

Commits on Jan 17, 2023

  1. Changes to Equality classes.

    `MapEquality` and `SetEquality` now expects the provided
    equalities to be compatible with the inherent equals
    (and hash) of the map or set.
    That allows using `Map.operator[]` and `Set.lookup`
    to match entries/elements from one collection with
    those of the other, instead of building an extra
    hash-map on the side to count occurrences.
    
    This helps `DeepCollectionEquality` which is likely
    to traverse a larger collection structure (mainly maps)
    and do repeated equals/hash code on sup-components.
    
    For unordered `DeepCollectionEquality`, a cache of
    computed values is added to avoid repeating the same
    computation during the traversal of a map-structure.
    
    Also adds `JsonEquality` which is tuned to JSON-like
    map/list/basic-value structures, and which assumes
    everything uses default `==` equality.
    lrhn committed Jan 17, 2023
    Configuration menu
    Copy the full SHA
    77198b9 View commit details
    Browse the repository at this point in the history