Esempio n. 1
0
        public void GetGraph()
        {
            var saga      = new SoftwareProgrammingSaga();
            var generator = new StateMachineGraphvizGenerator(saga.GetGraph());

            Console.WriteLine(generator.CreateDotFile());
        }
Esempio n. 2
0
        public void Given_saga_when_publishing_known_message_without_saga_data(bool sagaHasId, bool sagaHasData)
        {
            var softwareProgrammingSaga = new SoftwareProgrammingSaga();

            var coffeMadeEvent = new CoffeMadeEvent(Guid.NewGuid(), Guid.NewGuid());

            var sagaDataAggregate = Aggregate.Empty <SagaDataAggregate <SoftwareProgrammingSagaData> >(!sagaHasId ? Guid.Empty : Guid.NewGuid());

            sagaDataAggregate.RememberEvent(softwareProgrammingSaga.CoffeReady, !sagaHasData ? null : new SoftwareProgrammingSagaData(""), null);

            var saga = SagaInstance.New(softwareProgrammingSaga, sagaDataAggregate);

            saga.Transit(coffeMadeEvent);
            //No exception is raised
        }
Esempio n. 3
0
        public void Saga_has_correct_state()
        {
            var saga = new SoftwareProgrammingSaga();

            Assert.AreEqual(saga.Coding.Name, SagaData.Data.CurrentStateName);
        }
Esempio n. 4
0
        public void ExtractDescriptor()
        {
            var saga = new SoftwareProgrammingSaga();

            _descriptor = saga.CreateDescriptor <SoftwareProgrammingSaga, SoftwareProgrammingSagaData>(typeof(GotTiredEvent), typeof(SleptWellEvent));
        }
        public void Saga_data_contains_information_from_restart_message()
        {
            var saga = new SoftwareProgrammingSaga();

            Assert.AreEqual(_reStartEvent.PersonId, _sagaDataAggregate.Data.PersonId);
        }
        public void Saga_state_should_be_correct()
        {
            var saga = new SoftwareProgrammingSaga();

            Assert.AreEqual(saga.MakingCoffee.Name, _sagaDataAggregate.Data.CurrentStateName);
        }