             messageQueue = new UiMessageQueue(options)
             messageQueue._displayer = mockDisplayer # todo: we cant mock any instance with Jasmine so have to 'inject' it +repeated below
 
-            jasmine.Clock.useMock()
+            jasmine.Clock.useMock() # mock the clock for all of these
 
         afterEach ->
             messageQueue = null


            it 'should pass display to display strategy', ->

                mockDisplayer = createSpyObj('mockDisplayer', ['displayMessage'])

                messageQueue._displayer = mockDisplayer

                messageQueue._displayMessage "foo" # todo: do i really write this test

                expect(mockDisplayer.displayMessage).toHaveBeenCalledWith("foo")

            it 'should display message from queue when pushed', ->

                mockDisplayer = createSpyObj('mockDisplayer', ['displayMessage'])

                messageQueue._displayer = mockDisplayer

                messageQueue.push "foo"

                expect(mockDisplayer.displayMessage).toHaveBeenCalledWith("foo")

            it 'should display message from queue when pushed after interval', ->

                mockDisplayer = createSpyObj('mockDisplayer', ['displayMessage'])

                messageQueue._displayer = mockDisplayer

                messageQueue.push "foo"

                expect(mockDisplayer.displayMessage).not.toHaveBeenCalled();

                jasmine.Clock.tick(100000001);

                expect(mockDisplayer.displayMessage).toHaveBeenCalled()










            expect(messageQueue._displayer instanceof AlertDisplay).toBeTruthy()


    describe 'receive and display messages', ->

        messageQueue = null
        mockDisplayer = null

        beforeEach ->
            options = 
