public void Should_invoke_event_specific_apply_methods_when_load_from_history()
        {
            //Arrange
            var domainEvent = new TestDomainEvent();
            var sut         = new TestEventSourcedAggregateRoot();

            //Act
            sut.LoadFromHistory(new[] { domainEvent });

            //Assert
            sut.ApplyWasCalled.Should().BeTrue();
        }
        public void Should_support_serialization()
        {
            //Arrange
            var sut         = new TestEventSourcedAggregateRoot(Guid.NewGuid());
            var domainEvent = new TestDomainEvent();

            sut.LoadFromHistory(new[] { domainEvent });

            //Act
            var serializedObject   = JsonConvert.SerializeObject(sut);
            var deserializedObject = JsonConvert.DeserializeObject <TestEventSourcedAggregateRoot>(serializedObject);

            //Assert
            deserializedObject.Should().Be(sut);
        }