Inheritance: EventCentric.EventSourcing.Event
        public void Can_serialize_complex_events_and_commands()
        {
            var e = new EventA(1, "event");
            var deserializedEvent = this.sut.Deserialize<IEvent>(this.sut.Serialize(e));
            Assert.IsTrue(((EventA)deserializedEvent).Quantity == 1);
            Assert.IsTrue(((EventA)deserializedEvent).Text == "event");
            Assert.IsFalse(deserializedEvent.IsACommand);

            var c = this.sut.Deserialize<IEvent>(this.sut.Serialize(new CommandA(10, "command")));
            Assert.IsTrue(c.IsACommand);

            var fullCommand = (CommandA)c;
            Assert.AreEqual(10, fullCommand.Quantity);
            Assert.AreEqual("command", fullCommand.Text);
        }
        public void Can_serialize_complex_events_and_commands()
        {
            var e = new EventA(1, "event");
            var deserializedEvent = this.sut.Deserialize <IEvent>(this.sut.Serialize(e));

            Assert.IsTrue(((EventA)deserializedEvent).Quantity == 1);
            Assert.IsTrue(((EventA)deserializedEvent).Text == "event");
            Assert.IsFalse(deserializedEvent.IsACommand);

            var c = this.sut.Deserialize <IEvent>(this.sut.Serialize(new CommandA(10, "command")));

            Assert.IsTrue(c.IsACommand);

            var fullCommand = (CommandA)c;

            Assert.AreEqual(10, fullCommand.Quantity);
            Assert.AreEqual("command", fullCommand.Text);
        }