Example #1
0
        public void when_event_fires_then_the_action_is_executed()
        {
            var testScheduler = new CurrentThreadTaskScheduler();

            var stub = new StubClassWithEvent();

            var result = false;

            EventAsync.FromEvent(eh => stub.NoPayload += eh, eh => stub.NoPayload -= eh)
            .Do(() => result = true, testScheduler);

            stub.FireNoPayloadEvent();

            Assert.That(result, Is.True);
        }
Example #2
0
        public void when_event_fires_then_the_action_is_executed()
        {
            var testScheduler = new CurrentThreadTaskScheduler();

            var stub = new StubClassWithEvent();

            var result = false;

            EventAsync.FromEvent(eh => stub.NoPayload += eh, eh => stub.NoPayload -= eh)
                      .Do(() => result = true, testScheduler);

            stub.FireNoPayloadEvent();

            Assert.That(result, Is.True);
        }
Example #3
0
        public void when_payload_event_is_fired_twice_then_the_second_time_the_event_is_not_recieved()
        {
            var testScheduler = new CurrentThreadTaskScheduler();

            var stub = new StubClassWithEvent();

            var count = 0;

            EventAsync.FromEvent <DataEventArgs <Guid> >(eh => stub.Payload += eh, eh => stub.Payload -= eh)
            .Do(_ => count++, testScheduler);

            stub.FirePayloadEvent(Guid.NewGuid());
            stub.FirePayloadEvent(Guid.NewGuid());

            Assert.That(count, Is.EqualTo(1));
        }
Example #4
0
        public void when_payload_event_is_fired_twice_then_the_second_time_the_event_is_not_recieved()
        {
            var testScheduler = new CurrentThreadTaskScheduler();

            var stub = new StubClassWithEvent();

            var count = 0;

            EventAsync.FromEvent<DataEventArgs<Guid>>(eh => stub.Payload += eh, eh => stub.Payload -= eh)
                      .Do(_ => count++, testScheduler);

            stub.FirePayloadEvent(Guid.NewGuid());
            stub.FirePayloadEvent(Guid.NewGuid());

            Assert.That(count, Is.EqualTo(1));
        }
Example #5
0
        public void when_payload_event_fires_then_the_action_is_executed_and_the_payload_is_passed_through()
        {
            var testScheduler = new CurrentThreadTaskScheduler();

            var stub = new StubClassWithEvent();

            var result = Guid.Empty;

            EventAsync.FromEvent <DataEventArgs <Guid> >(eh => stub.Payload += eh, eh => stub.Payload -= eh)
            .Do(payload => result = payload.Value, testScheduler);

            var expected = Guid.NewGuid();

            stub.FirePayloadEvent(expected);

            Assert.That(result.Equals(expected), Is.True);
        }
Example #6
0
        public void when_payload_event_fires_then_the_action_is_executed_and_the_payload_is_passed_through()
        {
            var testScheduler = new CurrentThreadTaskScheduler();

            var stub = new StubClassWithEvent();

            var result = Guid.Empty;

            EventAsync.FromEvent<DataEventArgs<Guid>>(eh => stub.Payload += eh, eh => stub.Payload -= eh)
                      .Do(payload => result = payload.Value, testScheduler);

            var expected = Guid.NewGuid();

            stub.FirePayloadEvent(expected);

            Assert.That(result.Equals(expected), Is.True);
        }