public void ActionShouldBeFilteredByFilters() { var resolved = false; var called = false; var filters = new List<Func<ModuleChecked, bool>> { ev => ev.HealthLevel > 98, ev => ev.HealthLevel < 100 }; var settigs = new TypedHandlingSettings<ModuleChecked>( () => { resolved = true; return new SpecEventHandler<ModuleChecked>(ev => { called = true; }); }, filters); settigs.Action(new ModuleChecked(98)); resolved.Should().Be.False(); settigs.Action(new ModuleChecked(100)); resolved.Should().Be.False(); settigs.Action(new ModuleChecked(99)); resolved.Should().Be.True(); called.Should().Be.True(); }
public void ActionShouldBeFilteredByType() { var resolved = false; var settigs = new TypedHandlingSettings<ModuleChecked>( () => { resolved = true; return new SpecEventHandler<ModuleChecked>(ev => { }); }); settigs.Action(new object()); resolved.Should().Be.False(); }
public void ActionShouldBeSafeToNull() { var resolved = false; var settigs = new TypedHandlingSettings<ModuleChecked>( () => { resolved = true; return null; }); settigs.Action(new ModuleChecked(98)); resolved.Should().Be.True(); }