Пример #1
0
        public void SendsEventsOnInitForFlagsWhoseSegmentsChanged()
        {
            var dataBuilder = new DataSetBuilder().Flags(
                new FeatureFlagBuilder("flag1").Version(1).Build(),
                new FeatureFlagBuilder("flag2").Version(1)
                .Rules(
                    new RuleBuilder().Clauses(
                        new ClauseBuilder().Op("segmentMatch").Values(LdValue.Of(segment1.Key)).Build()
                        ).Build()
                    )
                .Build(),
                new FeatureFlagBuilder("flag3").Version(1).Build(),
                new FeatureFlagBuilder("flag4").Version(1)
                .Prerequisites(new Prerequisite("flag2", 0)).Build()
                )
                              .Segments(segment1, segment2);

            var updates = MakeInstance();

            updates.Init(dataBuilder.Build());

            var eventSink = new EventSink <FlagChangeEvent>();

            updates.FlagChanged += eventSink.Add;

            dataBuilder.Segments(segment1v2);
            updates.Init(dataBuilder.Build());

            ExpectFlagChangeEvents(eventSink, "flag2", "flag4");
        }