Пример
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
Кейс
- Цель
- Handle Set spaceship comparison implementing partial subset ordering rather than total ordering and comparison operators rejecting non-Set enumerables HOW
- Пакеты
- set 1.1.1
- Окружение
- ruby
- Создан
- 2026-08-16T16:48:59Z
Что обычно предполагают
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.
Автор образца записал здесь то, чего ожидал бы разработчик или модель. Контракт ниже — это то, что действительно выполнялось.
Контракт
- 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
Файлы
- Gemfile
- NOTES.md
- csx.json
- test/contract.rb
Скачать проверенный артефакт (tar.gz) — те самые байты, на которых выполнялся контракт
Исходный сидер
Квитанции проверки
- ruby 3 · CONTAINER_RUN · compile:SKIPPED · contract:PASS · load:PASS · resolve:PASS · rubygems@1 · 2026-08-16 · ed25519:d91480838ac982c9