Balakin.VSOutputEnhancer.Tests.UnitTests.ClassifiersAggregatorTests.ClassificationChanged C# (CSharp) Method

ClassificationChanged() private method

private ClassificationChanged ( ) : void
return void
        public void ClassificationChanged()
        {
            var fullSpan = Utils.CreateSpan("Some text");
            var span1 = new SnapshotSpan(fullSpan.Snapshot, new Span(0, 4));
            var span2 = new SnapshotSpan(fullSpan.Snapshot, new Span(5, 4));

            var classifier1 = new StubIClassifier();
            var classifier2 = new StubIClassifier();

            var invokes = new List<Tuple<Object, ClassificationChangedEventArgs>>();
            var aggregator = new ClassifiersAggregator(classifier1, classifier2);

            // Check for no exception
            classifier1.ClassificationChangedEvent?.Invoke(classifier1, new ClassificationChangedEventArgs(span1));

            aggregator.ClassificationChanged += (sender, e) => invokes.Add(Tuple.Create(sender, e));

            classifier1.ClassificationChangedEvent?.Invoke(classifier1, new ClassificationChangedEventArgs(span1));
            Assert.AreEqual(1, invokes.Count);
            Assert.AreEqual(classifier1, invokes[0].Item1);
            Assert.AreEqual(span1, invokes[0].Item2.ChangeSpan);

            invokes.Clear();
            classifier2.ClassificationChangedEvent?.Invoke(classifier2, new ClassificationChangedEventArgs(span2));
            Assert.AreEqual(1, invokes.Count);
            Assert.AreEqual(classifier2, invokes[0].Item1);
            Assert.AreEqual(span2, invokes[0].Item2.ChangeSpan);
        }