public static List <TfsBuildItem> ExtractRelevantBuilds(this TfsBuildsResponse tfsBuildsResponse)
 {
     return(tfsBuildsResponse?.Value
            .Where(b => b.Status == TfsBuildStatus.InProgress || b.Status == TfsBuildStatus.Completed)
            .Where(b => b.Result != TfsBuildResult.Canceled)
            .ToList()
            ?? new List <TfsBuildItem>());
 }
        public void ExtractRelevantBuilds_ContainsCancelled_ReturnsWithoutCancelled()
        {
            var sut = new TfsBuildsResponse
            {
                Count = 2,
                Value = new List <TfsBuildItem>
                {
                    new TfsBuildItem {
                        Result = TfsBuildResult.Canceled
                    },
                    new TfsBuildItem {
                        Status = TfsBuildStatus.InProgress
                    }
                }
            };

            var result = sut.ExtractRelevantBuilds();

            Assert.IsNotNull(result);
            Assert.AreEqual(1, result.Count);
            Assert.AreEqual(TfsBuildStatus.InProgress, result[0].Status);
        }