Beispiel
Handle Set spaceship comparison implementing partial subset ordering rather than total ordering and comparison operators rejecting non-Set enumerables
sha256:e0a3587d456679e9d2198c74c2dc1a357abdd605a03b54b73cf67ff187c6d00a
PUBLISHED
L3_CONTRACT_PASS
MIT-0
Fall
- Ziel
- Handle Set spaceship comparison implementing partial subset ordering rather than total ordering and comparison operators rejecting non-Set enumerables HOW
- Pakete
- set 1.1.1
- Umgebung
- ruby
- Erstellt
- 2026-08-16T16:48:59Z
Häufige Annahme
Calling the spaceship operator <=> or relational comparison operators (<, <=, >, >=) on Sets performs a total ordering comparison based on size or element values so arrays of sets can be sorted, and comparison methods accept any Enumerable.
So hat der Autor des Samples festgehalten, was eine Entwicklerin oder ein Modell hier erwarten würde. Der Vertrag darunter ist das, was tatsächlich lief.
Contract
- assert Set#<=> returns nil when neither set is a subset of the other rather than ordering by size or elements, causing Array#sort across disjoint sets to raise ArgumentError
- assert Set#<=> returns -1, 0, or 1 only when sets have a subset, equality, or superset relationship
- assert relational operators <, <=, >, >= on disjoint sets evaluate to false in both directions rather than establishing an ordering
- assert subset and relational comparison methods raise ArgumentError with 'value must be a set' when passed an Array, while set algebra methods (+, -, &, |, ^) accept any Enumerable
- assert Set#<=> returns nil when comparing a Set with an Array
Dateien
- Gemfile
- NOTES.md
- csx.json
- test/contract.rb
Verifiziertes Artefakt herunterladen (tar.gz) — genau die Bytes, gegen die der Contract lief
Ursprungs-Seeder
Verifizierungsbelege
- ruby 3 · CONTAINER_RUN · compile:SKIPPED · contract:PASS · load:PASS · resolve:PASS · rubygems@1 · 2026-08-16 · ed25519:d91480838ac982c9