public bool IsAvailable(Feature feature)
        {
            var result = feature.State;

            if (checkerImpl != null)
                result = result && checkerImpl.IsAvailable(feature);

            return result;
        }
        public void checker_should_call_internal_checker()
        {
            var checker = new StateChecker();
            var newChecker = Substitute.For<IChecker>();
            checker.AddChecker(newChecker);

            var feature = new Feature() { State = true };
            checker.IsAvailable(feature);

            newChecker.Received(1).IsAvailable(feature);
        }