public void Duplicate_label_names_prefererence_is_first_found()
        {
            var firstProvider = Mock.Of <IBuildInfoLabelProvider>(
                p => p.GetBuildInfoLabels() == new[] { new BuildInfoLabel("version", "1.2.3"), new BuildInfoLabel("major_version", "1") }
                );

            var secondProvider = Mock.Of <IBuildInfoLabelProvider>(
                p => p.GetBuildInfoLabels() == new[] { new BuildInfoLabel("version", "4.5.6") }
                );

            var expected = new[] { "1.2.3", "1" };

            var sut = new BuildInfoLabelCollector(Mock.Of <ILogger>(),
                                                  new[] { firstProvider, secondProvider });
            var actual = sut.GetValues();

            CollectionAssert.AreEqual(expected, actual);
        }
        public void GetValues_returns_label_values_from_providers()
        {
            var firstProvider = Mock.Of <IBuildInfoLabelProvider>(
                p => p.GetBuildInfoLabels() == new[] { new BuildInfoLabel("version", "1.2.3"), new BuildInfoLabel("major_version", "1") }
                );

            var secondProvider = Mock.Of <IBuildInfoLabelProvider>(
                p => p.GetBuildInfoLabels() == new[] { new BuildInfoLabel("api_version", "4.5.6") }
                );

            var expected = new[] { "1.2.3", "1", "4.5.6" };

            var sut = new BuildInfoLabelCollector(Mock.Of <ILogger>(),
                                                  new[] { firstProvider, secondProvider });
            var actual = sut.GetValues();

            CollectionAssert.AreEqual(expected, actual);
        }