Guest User

Untitled

a guest
May 27th, 2018
79
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.24 KB | None | 0 0
  1. var set = require ('./set').set
  2. , assert = require ('assert')
  3. , sys = require ("sys")
  4.  
  5. setA = set ('a', 'b', 'c', 'd', 'e')
  6.  
  7. // setA can be called as a function to check for membership
  8. assert.equal (true, setA ('a'))
  9. assert.equal (false, setA ('q'))
  10.  
  11. // or, if you prefer:
  12. assert.equal (true, setA.has ('b'))
  13. assert.equal (false, setA.has ('r'))
  14.  
  15. // to add an element,
  16. setA.add ('r')
  17. assert.equal (true, setA ('r'))
  18.  
  19. //to remove an element
  20. setA.del ('r')
  21. assert.equal (false, setA ('r'))
  22.  
  23. //you can add or remove multiple items at a time
  24. setA.add ('p', 'q')
  25. assert.equal (true, setA ('p'))
  26. assert.equal (true, setA ('q'))
  27. setA.del ('p', 'q')
  28. assert.equal (false, setA ('p'))
  29. assert.equal (false, setA ('q'))
  30.  
  31. // get the full list of set members. this is inefficient.
  32. assert.deepEqual (['a', 'b', 'c', 'd', 'e'], setA.members)
  33.  
  34. // size
  35. assert.equal (5, setA.size ())
  36.  
  37. //toString
  38. assert.equal ("<Set:a,b,c,d,e>", setA.toString ())
  39.  
  40. //and the important set stuff:
  41. setA.add ('a', 'a', 'a')
  42. assert.equal (5, setA.size ())
  43.  
  44. // unions
  45. setB = set ('c', 'd', 'e', 'f')
  46. union = setA.union (setB)
  47. assert.deepEqual (['a', 'b', 'c', 'd', 'e', 'f'], union.members)
  48.  
  49. // intersection
  50. intersection = setA.intersection (setB)
  51. assert.deepEqual (['c', 'd', 'e'], intersection.members)
Add Comment
Please, Sign In to add comment