feat: move List.contains to Sequence.contains and add tests for List and Range
The contains method is promoted from List to the Sequence base class, making it available to all sequence types (including Range). Tests are added for both List.contains and Range.contains, covering ordered, backwards, and exclusive ranges.
This commit is contained in:
@@ -0,0 +1,6 @@
|
||||
var list = [1, 2, 3, 4, "foo"]
|
||||
|
||||
IO.print(list.contains(2)) // expect: true
|
||||
IO.print(list.contains(5)) // expect: false
|
||||
IO.print(list.contains("foo")) // expect: true
|
||||
IO.print(list.contains("bar")) // expect: false
|
||||
@@ -0,0 +1,23 @@
|
||||
// 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
|
||||
Reference in New Issue
Block a user