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); }
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); }