コード例 #1
0
        public InGroupConditionTests()
        {
            _query = Substitute.For <IToggleContext>();

            Sut.GroupName = "group";
            Sut.SearchKey = "term";
        }
コード例 #2
0
        public async Task <bool> IsActive(Guid toggleID, IToggleContext context)
        {
            var toggles = await _fetcher.GetAllToggles();

            if (toggles.TryGetValue(toggleID, out var toggle) == false)
            {
                throw new ToggleNotFoundException(toggleID);
            }

            return(toggle.IsActive(_writer, context));
        }
コード例 #3
0
        public bool IsActive(IStatisticsWriter writer, IToggleContext context)
        {
            var stats = new Statistic
            {
                ToggleID  = ID,
                Timestamp = DateTime.Now,
                User      = context.GetCurrentUser()
            };

            var isActive = ConditionMode == ConditionModes.Any
                                ? Conditions.Any(c => c.IsMatch(stats, context))
                                : Conditions.All(c => c.IsMatch(stats, context));

            stats.Active = isActive;

            writer.Write(stats);

            return(isActive);
        }
コード例 #4
0
 public override bool IsMatch(Statistic stats, IToggleContext context)
 {
     return(Report(stats, context.GroupContains(GroupName, SearchKey)));
 }
コード例 #5
0
 public override bool IsMatch(Statistic stats, IToggleContext context)
 {
     return(Report(stats, Children.All(child => child.IsMatch(stats, context))));
 }
コード例 #6
0
 public override bool IsMatch(Statistic stats, IToggleContext context)
 {
     return(Report(stats, Children.Single().IsMatch(stats, context) == false));
 }
コード例 #7
0
 public override bool IsMatch(Statistic stats, IToggleContext context)
 {
     return(Report(stats, false));
 }
コード例 #8
0
 public abstract bool IsMatch(Statistic stats, IToggleContext context);