public void FindPluginNameShouldReturnNameOfMatchedBuildPlugin()
        {
            // Arrange
            var          buildPlugin = Substitute.For <IBuildPlugin>();
            const string expected    = "hello world";

            buildPlugin.DisplayName.Returns(expected);

            var buildPlugins = new[]
            {
                buildPlugin
            };

            var typeMatcher = Substitute.For <ITypeMatcher>();

            typeMatcher.MatchesType(buildPlugins[0].GetType(), "typeName").Returns(true);

            var sut = new PluginRepository(buildPlugins, System.Array.Empty <ISourceControlPlugin>(), System.Array.Empty <INotificationProcessor>(), typeMatcher);

            // Act
            var actual = sut.FindPluginName("typeName");

            // Assert
            Assert.Equal(expected, actual);
        }
        public void FindPluginNameShouldReturnNullWhenPluginWasNotFound()
        {
            // Arrange
            var sut = new PluginRepository(System.Array.Empty <IBuildPlugin>(), System.Array.Empty <ISourceControlPlugin>(), System.Array.Empty <INotificationProcessor>(), new TypeMatcher());

            // Act
            var actual = sut.FindPluginName("typeName");

            // Assert
            Assert.Null(actual);
        }