Ejemplo n.º 1
0
 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>()));
 }
Ejemplo n.º 4
0
 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"))));
            }
Ejemplo n.º 7
0
 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>()));                
 }
Ejemplo n.º 8
0
 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");
 }
Ejemplo n.º 9
0
 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>()));
 }
Ejemplo n.º 11
0
 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 {");
            }
Ejemplo n.º 13
0
 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"))));
 }