BagSpec.swift 1.1 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455
  1. //
  2. // BagSpec.swift
  3. // ReactiveCocoa
  4. //
  5. // Created by Justin Spahr-Summers on 2014-07-13.
  6. // Copyright (c) 2014 GitHub. All rights reserved.
  7. //
  8. import Nimble
  9. import Quick
  10. import ReactiveCocoa
  11. class BagSpec: QuickSpec {
  12. override func spec() {
  13. var bag = Bag<String>()
  14. beforeEach {
  15. bag = Bag()
  16. }
  17. it("should insert values") {
  18. bag.insert("foo")
  19. bag.insert("bar")
  20. bag.insert("buzz")
  21. expect(bag).to(contain("foo"))
  22. expect(bag).to(contain("bar"))
  23. expect(bag).to(contain("buzz"))
  24. expect(bag).toNot(contain("fuzz"))
  25. expect(bag).toNot(contain("foobar"))
  26. }
  27. it("should remove values given the token from insertion") {
  28. let a = bag.insert("foo")
  29. let b = bag.insert("bar")
  30. let c = bag.insert("buzz")
  31. bag.removeValueForToken(b)
  32. expect(bag).to(contain("foo"))
  33. expect(bag).toNot(contain("bar"))
  34. expect(bag).to(contain("buzz"))
  35. bag.removeValueForToken(a)
  36. expect(bag).toNot(contain("foo"))
  37. expect(bag).toNot(contain("bar"))
  38. expect(bag).to(contain("buzz"))
  39. bag.removeValueForToken(c)
  40. expect(bag).toNot(contain("foo"))
  41. expect(bag).toNot(contain("bar"))
  42. expect(bag).toNot(contain("buzz"))
  43. }
  44. }
  45. }