Exemple #1
0
        public void CanUseCustomizedPersisterWhenSupplyingInstanceAndThenCustomizingWithTypeMapping()
        {
            var fallbackPersister = new InMemorySagaPersister();
            var customPersister   = new InMemorySagaPersister();

            var hybridPersister = new HybridSagaPersister(fallbackPersister)
                                  .Add(customPersister)
                                  .Customize <AnotherChunkOfData, InMemorySagaPersister>();

            var data1 = new ChunkOfData {
                SomeString = "Hello"
            };

            hybridPersister.Insert(data1, new string[0]);

            var fallbackPersisterCountAfterFirstInsert = fallbackPersister.Count();
            var customPersisterCountAfterFirstInsert   = customPersister.Count();

            var data2 = new AnotherChunkOfData {
                AnotherString = "Hello"
            };

            hybridPersister.Insert(data2, new string[0]);

            var fallbackPersisterCountAfterSecondInsert = fallbackPersister.Count();
            var customPersisterCountAfterSecondInsert   = customPersister.Count();

            fallbackPersisterCountAfterFirstInsert.ShouldBe(1);
            customPersisterCountAfterFirstInsert.ShouldBe(0);

            fallbackPersisterCountAfterSecondInsert.ShouldBe(1);
            customPersisterCountAfterSecondInsert.ShouldBe(1);
        }
Exemple #2
0
        public void CanUseCustomizedPersisterWhenSettingSpecificInstance()
        {
            var fallbackPersister = new InMemorySagaPersister();
            var customPersister   = new InMemorySagaPersister();

            var hybridPersister = new HybridSagaPersister(fallbackPersister)
                                  .Customize <AnotherChunkOfData>(customPersister);

            var data1 = new ChunkOfData {
                SomeString = "Hello"
            };

            hybridPersister.Insert(data1, new string[0]);

            var fallbackPersisterCountAfterFirstInsert = fallbackPersister.Count();
            var customPersisterCountAfterFirstInsert   = customPersister.Count();

            var data2 = new AnotherChunkOfData {
                AnotherString = "Hello"
            };

            hybridPersister.Insert(data2, new string[0]);

            var fallbackPersisterCountAfterSecondInsert = fallbackPersister.Count();
            var customPersisterCountAfterSecondInsert   = customPersister.Count();

            fallbackPersisterCountAfterFirstInsert.ShouldBe(1);
            customPersisterCountAfterFirstInsert.ShouldBe(0);

            fallbackPersisterCountAfterSecondInsert.ShouldBe(1);
            customPersisterCountAfterSecondInsert.ShouldBe(1);
        }