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