public void GetAssemblyInfoBuilder_Empty_ThrowsWarningException()
    {
        var taskItems = Substitute.For <IEnumerable <ITaskItem> >();
        var exception = Assert.Throws <GitTools.WarningException>(() => AssemblyInfoBuilder.GetAssemblyInfoBuilder(taskItems));

        exception.Message.ShouldBe("Unable to determine which AssemblyBuilder required to generate GitVersion assembly information");
    }
    public void GetAssemblyInfoBuilder_ShouldReturnAppropriateAssemblyInfoBuilder(string fileName, Type assemblyInfoBuilderType)
    {
        var taskItem = Substitute.For <ITaskItem>();

        taskItem.ItemSpec.Returns(fileName);

        var assemblyInfoBuilder = AssemblyInfoBuilder.GetAssemblyInfoBuilder(new[] { taskItem });

        assemblyInfoBuilder.ShouldNotBeNull();
        assemblyInfoBuilder.ShouldBeOfType(assemblyInfoBuilderType);
    }
    public void GetAssemblyInfoBuilder_Null_ThrowsArgumentNullException()
    {
        var exception = Assert.Throws <ArgumentNullException>(() => AssemblyInfoBuilder.GetAssemblyInfoBuilder(null));

        exception.ParamName.ShouldBe("compileFiles");
    }