public void ShouldReturnTheScript(Mock<IPackageObject> package, ScriptLibraryComposer composer) { var files = new[] {"file.csx", "fileMain.csx", "file"}; package.Setup(p => p.GetContentFiles()).Returns(files); var script = composer.GetMainScript(package.Object); script.ShouldEqual("fileMain.csx"); }
public void ShouldReturnTheScript(Mock <IPackageObject> package, ScriptLibraryComposer composer) { var files = new[] { "file.csx", "fileMain.csx", "file" }; package.Setup(p => p.GetContentFiles()).Returns(files); var script = composer.GetMainScript(package.Object); script.ShouldEqual("fileMain.csx"); }
public void ShouldFindThePackage( [Frozen] Mock <IPackageContainer> packageContainer, ScriptLibraryComposer composer, Mock <IPackageReference> reference, Mock <IPackageObject> package) { packageContainer.Setup(c => c.FindPackage(It.IsAny <string>(), It.IsAny <IPackageReference>())) .Returns(package.Object); package.Setup(p => p.GetContentFiles()).Returns(Enumerable.Empty <string>()); composer.ProcessPackage("", reference.Object, new StringBuilder(), new List <string>(), new List <string>()); packageContainer.Verify(c => c.FindPackage(It.IsAny <string>(), It.IsAny <IPackageReference>())); }
public void ShouldFindThePackage( [Frozen] Mock<IPackageContainer> packageContainer, ScriptLibraryComposer composer, Mock<IPackageReference> reference, Mock<IPackageObject> package) { packageContainer.Setup(c => c.FindPackage(It.IsAny<string>(), It.IsAny<IPackageReference>())) .Returns(package.Object); package.Setup(p=>p.GetContentFiles()).Returns(Enumerable.Empty<string>()); composer.ProcessPackage("", reference.Object, new StringBuilder(), new List<string>(), new List<string>()); packageContainer.Verify(c => c.FindPackage(It.IsAny<string>(), It.IsAny<IPackageReference>())); }
public void ShouldLogAWarningIfThePackageIsMissing( [Frozen] TestLogProvider logProvider, [Frozen] Mock <IPackageContainer> packageContainer, ScriptLibraryComposer composer, Mock <IPackageReference> reference) { packageContainer.Setup(c => c.FindPackage(It.IsAny <string>(), It.IsAny <IPackageReference>())) .Returns((IPackageObject)null); reference.SetupGet(r => r.PackageId).Returns("test"); composer.ProcessPackage("", reference.Object, new StringBuilder(), new List <string>(), new List <string>()); packageContainer.Verify(c => c.FindPackage(It.IsAny <string>(), It.IsAny <IPackageReference>())); logProvider.Output.ShouldContain("WARN: Package missing: test"); }
public void ShouldWriteTheScriptLibrariesFile( [Frozen] Mock <IFileSystem> fileSystem, [Frozen] Mock <IPackageAssemblyResolver> resolver, ScriptLibraryComposer composer ) { var builder = new StringBuilder("Test"); fileSystem.Setup(fs => fs.WriteToFile(It.IsAny <string>(), It.IsAny <string>())); resolver.Setup(r => r.GetPackages(It.IsAny <string>())).Returns(Enumerable.Empty <IPackageReference>()); composer.Compose("workingdirectory", builder); fileSystem.Verify(fs => fs.WriteToFile(It.IsAny <string>(), It.Is <string>(v => v.Equals("Test")))); }
public void ShouldPreProcessTheScriptFile( [Frozen] Mock<IPackageContainer> packageContainer, [Frozen] Mock<IFilePreProcessor> preProcessor, ScriptLibraryComposer composer, Mock<IPackageReference> reference, Mock<IPackageObject> package) { packageContainer.Setup(c => c.FindPackage(It.IsAny<string>(), It.IsAny<IPackageReference>())) .Returns(package.Object); package.Setup(p => p.GetContentFiles()).Returns(new List<string> {"TestMain.csx"}); preProcessor.Setup(p => p.ProcessFile(It.IsAny<string>())).Returns(new FilePreProcessorResult()); composer.ProcessPackage(@"c:\packages", reference.Object, new StringBuilder(), new List<string>(), new List<string>()); preProcessor.Verify(p=> p.ProcessFile(It.IsAny<string>())); }
public void ShouldLogAWarningIfThePackageIsMissing( [Frozen] TestLogProvider logProvider, [Frozen] Mock<IPackageContainer> packageContainer, ScriptLibraryComposer composer, Mock<IPackageReference> reference, Mock<IPackageObject> package) { packageContainer.Setup(c => c.FindPackage(It.IsAny<string>(), It.IsAny<IPackageReference>())) .Returns((IPackageObject)null); reference.SetupGet(r => r.PackageId).Returns("test"); composer.ProcessPackage("", reference.Object, new StringBuilder(), new List<string>(), new List<string>()); packageContainer.Verify(c => c.FindPackage(It.IsAny<string>(), It.IsAny<IPackageReference>())); logProvider.Output.ShouldContain("WARN: Package missing: test"); }
public void ShouldLogAWarningIfThePackageIsMissing( [Frozen] Mock <ILog> logger, [Frozen] Mock <IPackageContainer> packageContainer, ScriptLibraryComposer composer, Mock <IPackageReference> reference, Mock <IPackageObject> package) { packageContainer.Setup(c => c.FindPackage(It.IsAny <string>(), It.IsAny <IPackageReference>())) .Returns((IPackageObject)null); reference.SetupGet(r => r.PackageId).Returns("test"); composer.ProcessPackage("", reference.Object, new StringBuilder(), new List <string>(), new List <string>()); packageContainer.Verify(c => c.FindPackage(It.IsAny <string>(), It.IsAny <IPackageReference>())); logger.Verify(l => l.WarnFormat("Package missing: {0}", "test")); }
public void ShouldPreProcessTheScriptFile( [Frozen] Mock <IPackageContainer> packageContainer, [Frozen] Mock <IFilePreProcessor> preProcessor, ScriptLibraryComposer composer, Mock <IPackageReference> reference, Mock <IPackageObject> package) { packageContainer.Setup(c => c.FindPackage(It.IsAny <string>(), It.IsAny <IPackageReference>())) .Returns(package.Object); package.Setup(p => p.GetContentFiles()).Returns(new List <string> { "TestMain.csx" }); preProcessor.Setup(p => p.ProcessFile(It.IsAny <string>())).Returns(new FilePreProcessorResult()); composer.ProcessPackage(@"c:\packages", reference.Object, new StringBuilder(), new List <string>(), new List <string>()); preProcessor.Verify(p => p.ProcessFile(It.IsAny <string>())); }
public void ShouldWarnIfMultipleMainFilesArePresent( [Frozen] Mock<IPackageContainer> packageContainer, [Frozen] Mock<IFilePreProcessor> preProcessor, [Frozen] TestLogProvider logProvider, ScriptLibraryComposer composer, Mock<IPackageReference> reference, Mock<IPackageObject> package) { packageContainer.Setup(c => c.FindPackage(It.IsAny<string>(), It.IsAny<IPackageReference>())) .Returns(package.Object); package.SetupGet(p => p.FullName).Returns("Test"); package.Setup(p => p.GetContentFiles()).Returns(new List<string> { "Test1Main.csx", "Test2Main.csx" }); preProcessor.Setup(p => p.ProcessFile(It.IsAny<string>())).Returns(new FilePreProcessorResult()); composer.ProcessPackage(@"c:\packages", reference.Object, new StringBuilder(), new List<string>(), new List<string>()); logProvider.Output.ShouldContain( "WARN: Script Libraries in 'Test' ignored due to multiple Main files being present"); }
public void ShouldAppendTheClassWrapper( [Frozen] Mock <IPackageContainer> packageContainer, [Frozen] Mock <IFilePreProcessor> preProcessor, ScriptLibraryComposer composer, Mock <IPackageReference> reference, Mock <IPackageObject> package) { packageContainer.Setup(c => c.FindPackage(It.IsAny <string>(), It.IsAny <IPackageReference>())) .Returns(package.Object); package.Setup(p => p.GetContentFiles()).Returns(new List <string> { "TestMain.csx" }); preProcessor.Setup(p => p.ProcessFile(It.IsAny <string>())).Returns(new FilePreProcessorResult()); var builder = new StringBuilder(); composer.ProcessPackage(@"c:\packages", reference.Object, builder, new List <string>(), new List <string>()); builder.ToString().ShouldContain("public class Test : ScriptCs.ScriptLibraryWrapper {"); }
public void ShouldWarnIfMultipleMainFilesArePresent( [Frozen] Mock <IPackageContainer> packageContainer, [Frozen] Mock <IFilePreProcessor> preProcessor, [Frozen] Mock <ILog> logger, ScriptLibraryComposer composer, Mock <IPackageReference> reference, Mock <IPackageObject> package) { packageContainer.Setup(c => c.FindPackage(It.IsAny <string>(), It.IsAny <IPackageReference>())) .Returns(package.Object); package.SetupGet(p => p.FullName).Returns("Test"); package.Setup(p => p.GetContentFiles()).Returns(new List <string> { "Test1Main.csx", "Test2Main.csx" }); preProcessor.Setup(p => p.ProcessFile(It.IsAny <string>())).Returns(new FilePreProcessorResult()); composer.ProcessPackage(@"c:\packages", reference.Object, new StringBuilder(), new List <string>(), new List <string>()); logger.Verify(l => l.WarnFormat(It.Is <string>(s => s.Equals("Script Libraries in '{0}' ignored due to multiple Main files being present")), It.IsAny <object[]>())); }
public void ShouldWarnIfMultipleMainFilesArePresent( [Frozen] Mock <IPackageContainer> packageContainer, [Frozen] Mock <IFilePreProcessor> preProcessor, [Frozen] TestLogProvider logProvider, ScriptLibraryComposer composer, Mock <IPackageReference> reference, Mock <IPackageObject> package) { packageContainer.Setup(c => c.FindPackage(It.IsAny <string>(), It.IsAny <IPackageReference>())) .Returns(package.Object); package.SetupGet(p => p.FullName).Returns("Test"); package.Setup(p => p.GetContentFiles()).Returns(new List <string> { "Test1Main.csx", "Test2Main.csx" }); preProcessor.Setup(p => p.ProcessFile(It.IsAny <string>())).Returns(new FilePreProcessorResult()); composer.ProcessPackage(@"c:\packages", reference.Object, new StringBuilder(), new List <string>(), new List <string>()); logProvider.Output.ShouldContain( "WARN: Script Libraries in 'Test' ignored due to multiple Main files being present"); }
public void ShouldAddNamespaces( [Frozen] Mock <IPackageContainer> packageContainer, [Frozen] Mock <IFilePreProcessor> preProcessor, ScriptLibraryComposer composer, Mock <IPackageReference> reference, Mock <IPackageObject> package) { packageContainer.Setup(c => c.FindPackage(It.IsAny <string>(), It.IsAny <IPackageReference>())) .Returns(package.Object); package.Setup(p => p.GetContentFiles()).Returns(new List <string> { "TestMain.csx" }); preProcessor.Setup(p => p.ProcessFile(It.IsAny <string>())).Returns(new FilePreProcessorResult { Code = "TestCode", Namespaces = new List <string> { "ns1", "ns2" } }); var ns = new List <string>(); composer.ProcessPackage(@"c:\packages", reference.Object, new StringBuilder(), new List <string>(), ns); ns.ShouldContain("ns1"); ns.ShouldContain("ns2"); }
public void ShouldAddsReferences( [Frozen] Mock<IPackageContainer> packageContainer, [Frozen] Mock<IFilePreProcessor> preProcessor, ScriptLibraryComposer composer, Mock<IPackageReference> reference, Mock<IPackageObject> package) { packageContainer.Setup(c => c.FindPackage(It.IsAny<string>(), It.IsAny<IPackageReference>())) .Returns(package.Object); package.Setup(p => p.GetContentFiles()).Returns(new List<string> { "TestMain.csx" }); preProcessor.Setup(p => p.ProcessFile(It.IsAny<string>())).Returns(new FilePreProcessorResult { Code = "TestCode", References = new List<string> {"ref1", "ref2"}}); var refs = new List<string>(); composer.ProcessPackage(@"c:\packages", reference.Object, new StringBuilder(), refs, new List<string>()); refs.ShouldContain("ref1"); refs.ShouldContain("ref2"); }
public void ShouldAppendThePreProcessedCode( [Frozen] Mock<IPackageContainer> packageContainer, [Frozen] Mock<IFilePreProcessor> preProcessor, ScriptLibraryComposer composer, Mock<IPackageReference> reference, Mock<IPackageObject> package) { packageContainer.Setup(c => c.FindPackage(It.IsAny<string>(), It.IsAny<IPackageReference>())) .Returns(package.Object); package.Setup(p => p.GetContentFiles()).Returns(new List<string> { "TestMain.csx" }); preProcessor.Setup(p => p.ProcessFile(It.IsAny<string>())).Returns(new FilePreProcessorResult {Code="TestCode"}); var builder = new StringBuilder(); composer.ProcessPackage(@"c:\packages", reference.Object, builder, new List<string>(), new List<string>()); builder.ToString().EndsWith("TestCode}"); }
public void ShouldWarnIfMultipleMainFilesArePresent( [Frozen] Mock<IPackageContainer> packageContainer, [Frozen] Mock<IFilePreProcessor> preProcessor, [Frozen] Mock<ILog> logger, ScriptLibraryComposer composer, Mock<IPackageReference> reference, Mock<IPackageObject> package) { packageContainer.Setup(c => c.FindPackage(It.IsAny<string>(), It.IsAny<IPackageReference>())) .Returns(package.Object); package.SetupGet(p => p.FullName).Returns("Test"); package.Setup(p => p.GetContentFiles()).Returns(new List<string> { "Test1Main.csx", "Test2Main.csx" }); preProcessor.Setup(p => p.ProcessFile(It.IsAny<string>())).Returns(new FilePreProcessorResult()); composer.ProcessPackage(@"c:\packages", reference.Object, new StringBuilder(), new List<string>(), new List<string>()); logger.Verify(l => l.WarnFormat(It.Is<string>(s => s.Equals("Script Libraries in '{0}' ignored due to multiple Main files being present")), It.IsAny<object[]>())); }
public void ShouldWriteTheScriptLibrariesFile( [Frozen] Mock<IFileSystem> fileSystem, [Frozen] Mock<IPackageAssemblyResolver> resolver, ScriptLibraryComposer composer ) { var builder = new StringBuilder("Test"); fileSystem.Setup(fs => fs.WriteToFile(It.IsAny<string>(), It.IsAny<string>())); resolver.Setup(r => r.GetPackages(It.IsAny<string>())).Returns(Enumerable.Empty<IPackageReference>()); composer.Compose("workingdirectory", builder); fileSystem.Verify(fs => fs.WriteToFile(It.IsAny<string>(), It.Is<string>(v=>v.Equals("Test")))); }