Sha256: df03094951799ed2f126c68b31badd333f2da7d18f63e081b577cbe57b73d5b1

Contents?: true

Size: 1.92 KB

Versions: 4

Compression:

Stored size: 1.92 KB

Contents

require 'test_helper'
require 'vedeu/support/queue'

module Vedeu
  describe Queue do
    before { Queue.reset }

    describe '.dequeue' do
      it 'returns a NilClass when the queue is empty' do
        Queue.dequeue.must_be_instance_of(NilClass)
      end

      it 'returns the first entry added when the queue is not empty' do
        Queue.enqueue(:result)
        Queue.dequeue.must_be_instance_of(Symbol)
      end
    end

    describe '.enqueue' do
      it 'contains the enqueued item' do
        Queue.enqueue(:result).size.must_equal(1)
      end
    end

    describe '.enqueued?' do
      it 'returns true when the queue is not empty' do
        Queue.enqueue(:result)
        Queue.enqueued?.must_be_instance_of(TrueClass)
      end

      it 'returns false when the queue is empty' do
        Queue.enqueued?.must_be_instance_of(FalseClass)
      end
    end

    describe '.entries' do
      it 'returns an empty collection when the queue is empty' do
        Queue.entries.must_equal([])
      end

      it 'returns all the enqueue items when the queue is not empty' do
        Queue.enqueue(:queued_entry)
        Queue.entries.must_equal([:queued_entry])
      end
    end

    describe '.size' do
      it 'returns the size of the queue when the queue is empty' do
        Queue.size.must_equal(0)
      end

      it 'returns the size of the queue when the queue is not empty' do
        Queue.enqueue(:result).enqueue(:result)
        Queue.size.must_equal(2)
      end
    end

    describe '.clear' do
      it 'returns an empty array' do
        Queue.enqueue(:result)
        Queue.reset.must_be_empty
      end
    end

    describe '.view' do
      it 'returns the queue as a String when the queue is empty' do
        Queue.view.must_equal('[]')
      end

      it 'returns the queue as a String when the queue is not empty' do
        Queue.enqueue(:result)
        Queue.view.must_equal('[:result]')
      end
    end
  end
end

Version data entries

4 entries across 4 versions & 1 rubygems

Version Path
vedeu-0.1.0 test/lib/vedeu/support/queue_test.rb
vedeu-0.0.42 test/lib/vedeu/support/queue_test.rb
vedeu-0.0.41 test/lib/vedeu/support/queue_test.rb
vedeu-0.0.40 test/lib/vedeu/support/queue_test.rb