public void Test()
        {
            var state = new SoftwareProgrammingState(Guid.NewGuid().ToString(), "123", Guid.NewGuid().ToString(), Guid.NewGuid().ToString());

            var processStateAggregate = new ProcessStateAggregate <SoftwareProgrammingState>(state);

            processStateAggregate.ReceiveMessage(state, Guid.NewGuid().ToString());
            processStateAggregate.ClearUncommitedEvents();


            var jsonSerializerSettings = DomainSerializer.GetDefaultSettings();

            jsonSerializerSettings.TraceWriter = new XUnitTraceWriter(_testOutputHelper);

            var json = JsonConvert.SerializeObject(processStateAggregate, jsonSerializerSettings);

            var restoredState = JsonConvert.DeserializeObject <ProcessStateAggregate <SoftwareProgrammingState> >(json, jsonSerializerSettings);

            restoredState.ClearUncommitedEvents();

            //CoffeMachineId_should_be_equal()
            Assert.Equal(processStateAggregate.State.CoffeeMachineId, restoredState.State.CoffeeMachineId);
            // Id_should_be_equal()
            Assert.Equal(processStateAggregate.Id, restoredState.Id);
            //State_should_be_equal()
            Assert.Equal(processStateAggregate.State.CurrentStateName, restoredState.State.CurrentStateName);
        }
Пример #2
0
        public async Task Test()
        {
            var i       = Node.Id; //just start node
            var process = new SoftwareProgrammingProcess();
            var state   = new SoftwareProgrammingState(Guid.NewGuid().ToString(), process.Coding.Name, Guid.NewGuid().ToString(), Guid.NewGuid().ToString());

            var processStateAggregate = new ProcessStateAggregate <SoftwareProgrammingState>(state);

            processStateAggregate.ReceiveMessage(state, null);
            processStateAggregate.ClearUncommitedEvents();

            var repo = new AggregateSnapshotRepository(AutoTestNodeDbConfiguration.Default.JournalConnectionString,
                                                       AggregateFactory.Default,
                                                       AggregateFactory.Default);
            await repo.Add(processStateAggregate);

            var restoredState = await this.LoadProcessByActor <SoftwareProgrammingState>(processStateAggregate.Id);

            //CoffeMachineId_should_be_equal()
            Assert.Equal(processStateAggregate.State.CoffeeMachineId, restoredState.CoffeeMachineId);
            // State_should_be_equal()
            Assert.Equal(processStateAggregate.State.CurrentStateName, restoredState.CurrentStateName);
        }