Set.k 588 B

1234567891011121314151617181920212223242526272829
  1. invoke {
  2. import Set from Std
  3. let s = Set<Int>()
  4. assert s -> size() == 0
  5. s -> add(5)
  6. s -> add(7)
  7. s -> add(11)
  8. s -> add(13)
  9. assert s -> size() == 4
  10. s -> remove(13)
  11. assert s -> size() == 3
  12. assert !(s -> has(13))
  13. assert s -> has(11)
  14. var p = 1
  15. for element in s {
  16. reset p *= element
  17. }
  18. assert p == 5*7*11
  19. s -> clear()
  20. assert s -> size() == 0
  21. assert !(s -> has(5))
  22. let s1 = copy(s)
  23. assert s1 is Set<Int>
  24. s1 -> add(9)
  25. assert s1 -> has(9)
  26. assert not (s -> has(9))
  27. assert s -> size() == 0
  28. }