public void Trigger_build_changes_in_different_conditions()
            {
                // Arrange
                var previousBuilds = new[] {123, 456};
                var currentBuilds = new[] {987, 123, 789};

                var startingIds = new List<int>();
                var updatingIds = new List<int>();
                var stoppingIds = new List<int>();

                var poller = new TestableBuildsPoller();
                poller.BuildStarted += startingIds.Add;
                poller.BuildUpdated += updatingIds.Add;
                poller.BuildFinished += stoppingIds.Add;

                // Act
                poller.PubliclyTriggerBuildChanges(previousBuilds, currentBuilds);

                // Assert
                Assert.That(startingIds, Is.EquivalentTo(new[] {987, 789}));
                Assert.That(updatingIds, Is.EquivalentTo(new[] {123}));
                Assert.That(stoppingIds, Is.EquivalentTo(new[] {456}));
            }
            public void Trigger_build_changes_in_different_conditions()
            {
                // Arrange
                var previousBuilds = new[] { 123, 456 };
                var currentBuilds  = new[] { 987, 123, 789 };

                var startingIds = new List <int>();
                var updatingIds = new List <int>();
                var stoppingIds = new List <int>();

                var poller = new TestableBuildsPoller();

                poller.BuildStarted  += startingIds.Add;
                poller.BuildUpdated  += updatingIds.Add;
                poller.BuildFinished += stoppingIds.Add;

                // Act
                poller.PubliclyTriggerBuildChanges(previousBuilds, currentBuilds);

                // Assert
                Assert.That(startingIds, Is.EquivalentTo(new[] { 987, 789 }));
                Assert.That(updatingIds, Is.EquivalentTo(new[] { 123 }));
                Assert.That(stoppingIds, Is.EquivalentTo(new[] { 456 }));
            }