public void RemoveFactory() { const string typeCode = "testCode"; using var mocker = AutoMockHelper.Create(); var store = mocker.Create <ClaptrapDesignStore>(); var actorIdentity = new TestClaptrapIdentity("123", typeCode); var design = new ClaptrapDesign { ClaptrapTypeCode = typeCode }; store.AddOrReplace(design); store.AddOrReplaceFactory(typeCode, (identity, sourceDesign) => new ClaptrapDesign { StateDataType = typeof(int) }); var claptrapDesign = store.FindDesign(actorIdentity); claptrapDesign.StateDataType.Should().Be(typeof(int)); store.RemoveFactory(typeCode); claptrapDesign = store.FindDesign(actorIdentity); claptrapDesign.Should().Be(design); }
public void Create() { using var mocker = AutoMockHelper.Create(); var actorIdentity = new TestClaptrapIdentity(Guid.NewGuid().ToString(), "typeCode"); var testEvent = new TestEvent { EventTypeCode = "eventType" }; var eventContext = new EventContext(testEvent, new TestState { Identity = actorIdentity }); mocker.Mock <IClaptrapDesignStore>() .Setup(x => x.FindDesign(actorIdentity)) .Returns(new ClaptrapDesign { EventHandlerDesigns = new Dictionary <string, IClaptrapEventHandlerDesign> { { testEvent.EventTypeCode, new ClaptrapEventHandlerDesign { EventHandlerType = typeof(TestHandler) } } } }); var eventHandlerFactory = mocker.Create <DesignBaseEventHandlerFactory>(); var eventHandler = eventHandlerFactory.Create(eventContext); eventHandler.Should().NotBeNull(); }
public void NotFound() { using var mocker = AutoMockHelper.Create(); var claptrapDesignStore = mocker.Create<ClaptrapDesignStore>(); var actorIdentity = new TestClaptrapIdentity("123", "testCode"); Assert.Throws<ClaptrapDesignNotFoundException>(() => claptrapDesignStore.FindDesign(actorIdentity)); }
public void Add(string typeCode) { using var mocker = AutoMockHelper.Create(); var claptrapDesignStore = mocker.Create<ClaptrapDesignStore>(); var actorIdentity = new TestClaptrapIdentity("123", typeCode); var design = new ClaptrapDesign { ClaptrapTypeCode = typeCode }; claptrapDesignStore.AddOrReplace(design); var claptrapDesign = claptrapDesignStore.FindDesign(actorIdentity); claptrapDesign.Should().Be(design); }
public void AddFactory(string typeCode) { using var mocker = AutoMockHelper.Create(); var claptrapDesignStore = mocker.Create<ClaptrapDesignStore>(); var actorIdentity = new TestClaptrapIdentity("123", typeCode); var design = new ClaptrapDesign { ClaptrapTypeCode = typeCode }; claptrapDesignStore.AddOrReplace(design); var factoryInvoked = false; claptrapDesignStore.AddOrReplaceFactory(typeCode, (identity, sourceDesign) => { factoryInvoked = true; return sourceDesign; }); var claptrapDesign = claptrapDesignStore.FindDesign(actorIdentity); claptrapDesign.Should().Be(design); factoryInvoked.Should().BeTrue(); }
public void NotFound() { using var mocker = AutoMockHelper.Create(); var actorIdentity = new TestClaptrapIdentity(Guid.NewGuid().ToString(), "typeCode"); var testEvent = new TestEvent { EventTypeCode = "eventType" }; var eventContext = new EventContext(testEvent, new TestState { Identity = actorIdentity }); mocker.Mock <IClaptrapDesignStore>() .Setup(x => x.FindDesign(actorIdentity)) .Returns(new ClaptrapDesign { EventHandlerDesigns = new Dictionary <string, IClaptrapEventHandlerDesign>() }); var eventHandlerFactory = mocker.Create <DesignBaseEventHandlerFactory>(); Assert.Throws <EventHandlerNotFoundException>(() => { eventHandlerFactory.Create(eventContext); }); }