Guest User

Untitled

a guest
Nov 19th, 2018
97
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.54 KB | None | 0 0
  1. require './my_queue'
  2. require 'rspec'
  3.  
  4. describe MyQueue do
  5. it "initializes with a size of zero" do
  6. MyQueue.new.size.should eq 0
  7. end
  8.  
  9. it "is empty after initialization" do
  10. MyQueue.new.is_empty?.should eq true
  11. end
  12.  
  13. describe "#enqueue" do
  14. before do
  15. @queue = MyQueue.new
  16. end
  17.  
  18. it "enqueues and item" do
  19. @queue.enqueue("a").should =~ ["a"]
  20. end
  21.  
  22. it "increments the size by 1" do
  23. @queue.enqueue("a")
  24. @queue.enqueue("b")
  25. @queue.size.should eq 2
  26. end
  27.  
  28. it "is no longer empty" do
  29. @queue.enqueue("a")
  30. @queue.is_empty?.should eq false
  31. end
  32. end
  33.  
  34. describe "#peek" do
  35. before do
  36. @queue = MyQueue.new
  37. end
  38.  
  39. it "shows the item that is at the head" do
  40. @queue.enqueue("a")
  41. @queue.enqueue("b")
  42. @queue.enqueue("c")
  43. @queue.peek.should eq "a"
  44. end
  45.  
  46. it "returns nil if the queue is empty" do
  47. @queue.peek.should be_nil
  48. end
  49. end
  50.  
  51. describe "#dequeue" do
  52. before do
  53. @queue = MyQueue.new
  54. end
  55.  
  56. it "removes the item at the head" do
  57. @queue.enqueue("a")
  58. @queue.enqueue("b")
  59. @queue.enqueue("c")
  60. @queue.dequeue.should eq "a"
  61. end
  62.  
  63. it "decrements the size by one" do
  64. @queue.enqueue("a")
  65. @queue.enqueue("b")
  66. @queue.enqueue("c")
  67. @queue.dequeue
  68. @queue.size.should eq 2
  69. end
  70.  
  71. it "doesn't decrement the size if the queue is empty" do
  72. @queue.dequeue
  73. @queue.size.should eq 0
  74. end
  75. end
  76.  
  77. end
Add Comment
Please, Sign In to add comment