/Framework/src/Ncqrs.Tests/Eventing/EventBaseSpecs.cs
C# | 51 lines | 39 code | 12 blank | 0 comment | 0 complexity | b37df4488c7b8a0c6c3bfc49da87d60f MD5 | raw file
Possible License(s): MPL-2.0-no-copyleft-exception, Apache-2.0
- using System;
- using FluentAssertions;
- using Ncqrs.Eventing;
- using Xunit;
- using Rhino.Mocks;
-
- namespace Ncqrs.Tests.Eventing
- {
-
- public class EventBaseSpecs
- {
- [Fact]
- public void Constructing_a_new_event_base_it_should_call_the_GenerateNewId_method_from_the_generator_that_has_been_set_in_the_environment()
- {
- var generator = MockRepository.GenerateMock<IUniqueIdentifierGenerator>();
- NcqrsEnvironment.SetDefault<IUniqueIdentifierGenerator>(generator);
-
- var mock = MockRepository.GenerateStub<Event>();
-
- generator.AssertWasCalled(g=>g.GenerateNewId());
- }
-
- [Fact]
- public void Constructing_a_new_event_base_it_should_set_the_event_identifier_to_identifier_that_has_been_given_from_the_IUniqueIdentifierGenerator_from_the_NcqrsEnvironment()
- {
- var identiefier = Guid.NewGuid();
-
- var generator = MockRepository.GenerateStrictMock<IUniqueIdentifierGenerator>();
- generator.Stub(g => g.GenerateNewId()).Return(identiefier);
-
- NcqrsEnvironment.SetDefault<IUniqueIdentifierGenerator>(generator);
-
- var mock = MockRepository.GenerateStub<Event>();
- mock.EventIdentifier.Should().Be(identiefier);
- }
-
- [Fact]
- public void Constructing_a_new_event_base_it_should_set_the_event_time_stap_to_the_time_given_by_the_IClock_from_the_NcqrsEnvironment()
- {
- var theTimeStamp = new DateTime(2000, 1, 1, 1, 1, 1, 1, DateTimeKind.Utc);
-
- var clock = MockRepository.GenerateStrictMock<IClock>();
- clock.Stub(c => c.UtcNow()).Return(theTimeStamp);
-
- NcqrsEnvironment.SetDefault<IClock>(clock);
-
- var eventBase = MockRepository.GenerateStub<Event>();
- eventBase.EventTimeStamp.Should().Be(theTimeStamp);
- }
- }
- }