Add a generic `contains` implementation on the `Sequence` base class, removing the duplicate method from `List`. This allows all sequence types (including Range) to use the method without per-class redefinition. Include new test files for `List.contains` and `Range.contains` covering ordered, backwards, and exclusive ranges.
24 lines
837 B
Plaintext
24 lines
837 B
Plaintext
// Ordered range.
|
|
IO.print((2..5).contains(1)) // expect: false
|
|
IO.print((2..5).contains(2)) // expect: true
|
|
IO.print((2..5).contains(5)) // expect: true
|
|
IO.print((2..5).contains(6)) // expect: false
|
|
|
|
// Backwards range.
|
|
IO.print((5..2).contains(1)) // expect: false
|
|
IO.print((5..2).contains(2)) // expect: true
|
|
IO.print((5..2).contains(5)) // expect: true
|
|
IO.print((5..2).contains(6)) // expect: false
|
|
|
|
// Exclusive ordered range.
|
|
IO.print((2...5).contains(1)) // expect: false
|
|
IO.print((2...5).contains(2)) // expect: true
|
|
IO.print((2...5).contains(5)) // expect: false
|
|
IO.print((2...5).contains(6)) // expect: false
|
|
|
|
// Exclusive backwards range.
|
|
IO.print((5...2).contains(1)) // expect: false
|
|
IO.print((5...2).contains(2)) // expect: false
|
|
IO.print((5...2).contains(5)) // expect: true
|
|
IO.print((5...2).contains(6)) // expect: false
|