本文整理汇总了C#中ScriptCsArgs类的典型用法代码示例。如果您正苦于以下问题:C# ScriptCsArgs类的具体用法?C# ScriptCsArgs怎么用?C# ScriptCsArgs使用的例子?那么恭喜您, 这里精选的类代码示例或许可以为您提供帮助。
ScriptCsArgs类属于命名空间,在下文中一共展示了ScriptCsArgs类的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C#代码示例。
示例1: NonManagedAssembliesAreExcluded
public void NonManagedAssembliesAreExcluded(
[Frozen] Mock<IFileSystem> fileSystem,
[Frozen] Mock<IAssemblyUtility> assemblyUtility,
[Frozen] Mock<IScriptExecutor> executor,
CommandFactory factory)
{
// Arrange
const string NonManaged = "non-managed.dll";
var args = new ScriptCsArgs { AllowPreRelease = false, Install = "", ScriptName = "test.csx" };
fileSystem.SetupGet(x => x.CurrentDirectory).Returns(CurrentDirectory);
fileSystem.Setup(x => x.EnumerateFiles(It.IsAny<string>(), It.IsAny<string>(), SearchOption.AllDirectories))
.Returns(new[] { "managed.dll", NonManaged });
assemblyUtility.Setup(x => x.IsManagedAssembly(It.Is<string>(y => y == NonManaged))).Returns(false);
// Act
factory.CreateCommand(args, new string[0]).Execute();
// Assert
executor.Verify(i => i.Initialize(It.Is<IEnumerable<string>>(x => !x.Contains(NonManaged)), It.IsAny<IEnumerable<IScriptPack>>()), Times.Once());
executor.Verify(i => i.Execute(It.Is<string>(x => x == "test.csx"), It.IsAny<string[]>()), Times.Once());
executor.Verify(i => i.Terminate(), Times.Once());
}
示例2: ShouldCreateBinFolderIfItDoesNotExist
public void ShouldCreateBinFolderIfItDoesNotExist()
{
var args = new ScriptCsArgs { Restore = true, ScriptName = "" };
var fs = new Mock<IFileSystem>();
var resolver = new Mock<IPackageAssemblyResolver>();
var executor = new Mock<IScriptExecutor>();
var scriptpackResolver = new Mock<IScriptPackResolver>();
var packageInstaller = new Mock<IPackageInstaller>();
var root = new ScriptServiceRoot(fs.Object, resolver.Object, executor.Object, scriptpackResolver.Object, packageInstaller.Object);
const string CurrentDirectory = @"C:\";
const string BinFolder = @"C:\bin";
fs.Setup(x => x.GetWorkingDirectory(It.IsAny<string>())).Returns(CurrentDirectory);
var binFolderCreated = false;
fs.Setup(x => x.DirectoryExists(BinFolder)).Returns(() => binFolderCreated).Verifiable();
fs.Setup(x => x.CreateDirectory(BinFolder)).Callback(() => binFolderCreated = true).Verifiable();
var factory = new CommandFactory(root);
var result = factory.CreateCommand(args);
result.Execute();
fs.Verify(x => x.DirectoryExists(BinFolder), Times.AtLeastOnce());
fs.Verify(x => x.CreateDirectory(BinFolder), Times.Once());
}
示例3: ReconcileArguments
private static ScriptCsArgs ReconcileArguments(ScriptCsArgs configArgs, ScriptCsArgs commandArgs, SplitResult splitResult)
{
if (configArgs == null)
return commandArgs;
if (commandArgs == null)
return configArgs;
foreach (var property in typeof(ScriptCsArgs).GetProperties(BindingFlags.Instance | BindingFlags.Public))
{
var configValue = property.GetValue(configArgs);
var commandValue = property.GetValue(commandArgs);
var defaultValue = GetPropertyDefaultValue(property);
if (!object.Equals(configValue, commandValue))
{
if (!object.Equals(commandValue, defaultValue))
{
property.SetValue(configArgs, commandValue);
}
else
{
if (IsCommandLinePresent(splitResult.CommandArguments, property))
property.SetValue(configArgs, commandValue);
}
}
}
return configArgs;
}
示例4: WhenPassedAScript_ShouldPressedReplWithScript
public void WhenPassedAScript_ShouldPressedReplWithScript(
[Frozen] Mock<IScriptEngine> scriptEngine,
[Frozen] Mock<IFileSystem> fileSystem,
[Frozen] Mock<IConsole> console,
[Frozen] Mock<IScriptServicesBuilder> servicesBuilder,
[Frozen] Mock<IInitializationServices> initializationServices,
ScriptServices services)
{
// Arrange
var args = new ScriptCsArgs { Repl = true, ScriptName = "test.csx" };
console.Setup(x => x.ReadLine()).Returns(() =>
{
console.Setup(x => x.ReadLine()).Throws(new Exception());
return string.Empty;
});
fileSystem.SetupGet(x => x.CurrentDirectory).Returns("C:\\");
servicesBuilder.Setup(b => b.Build()).Returns(services);
//initializationServices.Setup(i => i.GetFileSystem()).Returns(fileSystem.Object);
scriptEngine.Setup(
x => x.Execute("#load test.csx", It.IsAny<string[]>(), It.IsAny<AssemblyReferences>(), It.IsAny<IEnumerable<string>>(), It.IsAny<ScriptPackSession>()));
servicesBuilder.SetupGet(b => b.InitializationServices).Returns(initializationServices.Object);
initializationServices.Setup(i => i.GetFileSystem()).Returns(fileSystem.Object);
var factory = new CommandFactory(servicesBuilder.Object);
// Act
factory.CreateCommand(args, new string[0]).Execute();
// Assert
scriptEngine.Verify();
}
示例5: ScriptExecCommandShouldInvokeWithScriptPassedFromArgs
public void ScriptExecCommandShouldInvokeWithScriptPassedFromArgs()
{
var args = new ScriptCsArgs
{
AllowPreRelease = false,
Install = "",
ScriptName = "test.csx"
};
var fs = new Mock<IFileSystem>();
var resolver = new Mock<IPackageAssemblyResolver>();
var executor = new Mock<IScriptExecutor>();
var engine = new Mock<IScriptEngine>();
var scriptpackResolver = new Mock<IScriptPackResolver>();
var packageInstaller = new Mock<IPackageInstaller>();
var logger = new Mock<ILog>();
var filePreProcessor = new Mock<IFilePreProcessor>();
var root = new ScriptServiceRoot(fs.Object, resolver.Object, executor.Object, engine.Object, filePreProcessor.Object, scriptpackResolver.Object, packageInstaller.Object, logger.Object);
var factory = new CommandFactory(root);
var result = factory.CreateCommand(args);
result.Execute();
executor.Verify(i => i.Execute(It.Is<string>(x => x == "test.csx"), It.IsAny<IEnumerable<string>>(), It.IsAny<IEnumerable<IScriptPack>>()), Times.Once());
}
示例6: ShouldCreateMissingBinFolder
public void ShouldCreateMissingBinFolder()
{
const string WorkingDirectory = @"C:\";
var binFolder = Path.Combine(WorkingDirectory, "bin");
var args = new ScriptCsArgs { ScriptName = "test.csx" };
var fs = new Mock<IFileSystem>();
fs.Setup(x => x.GetWorkingDirectory(It.IsAny<string>())).Returns(WorkingDirectory);
fs.Setup(x => x.DirectoryExists(binFolder)).Returns(false);
var resolver = new Mock<IPackageAssemblyResolver>();
var executor = new Mock<IScriptExecutor>();
var engine = new Mock<IScriptEngine>();
var scriptpackResolver = new Mock<IScriptPackResolver>();
var packageInstaller = new Mock<IPackageInstaller>();
var logger = new Mock<ILog>();
var filePreProcessor = new Mock<IFilePreProcessor>();
var root = new ScriptServiceRoot(fs.Object, resolver.Object, executor.Object, engine.Object, filePreProcessor.Object, scriptpackResolver.Object, packageInstaller.Object, logger.Object);
var factory = new CommandFactory(root);
var result = factory.CreateCommand(args);
result.Execute();
fs.Verify(x => x.CreateDirectory(binFolder), Times.Once());
}
示例7: ShouldDeletePackagesFolder
public void ShouldDeletePackagesFolder()
{
var args = new ScriptCsArgs { Clean = true };
var fs = new Mock<IFileSystem>();
var resolver = new Mock<IPackageAssemblyResolver>();
var executor = new Mock<IScriptExecutor>();
var engine = new Mock<IScriptEngine>();
var scriptpackResolver = new Mock<IScriptPackResolver>();
var packageInstaller = new Mock<IPackageInstaller>();
var logger = new Mock<ILog>();
var filePreProcessor = new Mock<IFilePreProcessor>();
var assemblyName = new Mock<IAssemblyName>();
var root = new ScriptServiceRoot(fs.Object, resolver.Object, executor.Object, engine.Object, filePreProcessor.Object, scriptpackResolver.Object, packageInstaller.Object, logger.Object, assemblyName.Object);
fs.Setup(i => i.DirectoryExists(It.Is<string>(x => x.Contains(Constants.PackagesFolder)))).Returns(true);
fs.Setup(i => i.GetWorkingDirectory(It.IsAny<string>())).Returns("c:\\");
var factory = new CommandFactory(root);
var result = factory.CreateCommand(args, new string[0]);
result.Execute();
fs.Verify(i => i.DirectoryExists(It.Is<string>(x => x.Contains(Constants.PackagesFolder))), Times.Once());
fs.Verify(i => i.DeleteDirectory(It.Is<string>(x => x.Contains(Constants.PackagesFolder))), Times.Once());
}
示例8: WatchScriptCommand
public WatchScriptCommand(
ScriptCsArgs commandArgs,
string[] scriptArgs,
IConsole console,
IFileSystem fileSystem,
ILog logger,
IFileSystemMigrator fileSystemMigrator)
{
Guard.AgainstNullArgument("commandArgs", commandArgs);
Guard.AgainstNullArgument("scriptArgs", scriptArgs);
Guard.AgainstNullArgument("console", console);
Guard.AgainstNullArgument("fileSystem", fileSystem);
Guard.AgainstNullArgument("logger", logger);
Guard.AgainstNullArgument("fileSystemMigrator", fileSystemMigrator);
_commandArgs = commandArgs;
_scriptArgs = scriptArgs;
_console = console;
_fileSystem = fileSystem;
_logger = logger;
_fileSystemMigrator = fileSystemMigrator;
_executeScriptCommand = new CrossAppDomainExecuteScriptCommand
{
CommandArgs = _commandArgs,
ScriptArgs = _scriptArgs,
};
}
示例9: VersionCommandShouldOutputVersion
public void VersionCommandShouldOutputVersion()
{
var args = new ScriptCsArgs
{
Version = true
};
var fs = new Mock<IFileSystem>();
var resolver = new Mock<IPackageAssemblyResolver>();
var executor = new Mock<IScriptExecutor>();
var engine = new Mock<IScriptEngine>();
var scriptpackResolver = new Mock<IScriptPackResolver>();
var packageInstaller = new Mock<IPackageInstaller>();
var logger = new Mock<ILog>();
var filePreProcessor = new Mock<IFilePreProcessor>();
var root = new ScriptServiceRoot(fs.Object, resolver.Object, executor.Object, engine.Object, filePreProcessor.Object, scriptpackResolver.Object, packageInstaller.Object, logger.Object);
var factory = new CommandFactory(root);
var result = factory.CreateCommand(args);
// clear the fake console output
_outputText.Clear();
result.Execute();
Assert.Contains("scriptcs version " + _currentVersion.ToString(), _outputText.ToString());
}
示例10: NonManagedAssembliesAreExcluded
public void NonManagedAssembliesAreExcluded(
[Frozen] Mock<IFileSystem> fileSystem,
[Frozen] Mock<IAssemblyUtility> assemblyUtility,
[Frozen] Mock<IScriptExecutor> executor,
[Frozen] Mock<IInitializationServices> initializationServices,
ScriptServices services)
{
// Arrange
const string NonManaged = "non-managed.dll";
var args = new ScriptCsArgs { AllowPreRelease = false, Install = "", ScriptName = "test.csx" };
var fixture = new Fixture().Customize(new AutoMoqCustomization());
var servicesBuilder = fixture.Freeze<Mock<IScriptServicesBuilder>>();
fileSystem.SetupGet(x => x.CurrentDirectory).Returns(CurrentDirectory);
fileSystem.Setup(x => x.EnumerateFiles(It.IsAny<string>(), It.IsAny<string>(), SearchOption.AllDirectories))
.Returns(new[] { "managed.dll", NonManaged });
assemblyUtility.Setup(x => x.IsManagedAssembly(It.Is<string>(y => y == NonManaged))).Returns(false);
initializationServices.Setup(i => i.GetFileSystem()).Returns(fileSystem.Object);
servicesBuilder.SetupGet(b => b.InitializationServices).Returns(initializationServices.Object);
servicesBuilder.Setup(b => b.Build()).Returns(services);
var factory = fixture.Create<CommandFactory>();
// Act
factory.CreateCommand(args, new string[0]).Execute();
// Assert
executor.Verify(i => i.Initialize(It.Is<IEnumerable<string>>(x => !x.Contains(NonManaged)), It.IsAny<IEnumerable<IScriptPack>>()), Times.Once());
executor.Verify(i => i.Execute(It.Is<string>(x => x == "test.csx"), It.IsAny<string[]>()), Times.Once());
executor.Verify(i => i.Terminate(), Times.Once());
}
示例11: InstallCommandShouldInstallFromPackagesConfigIfNoNamePassed
public void InstallCommandShouldInstallFromPackagesConfigIfNoNamePassed()
{
var args = new ScriptCsArgs
{
AllowPreReleaseFlag = false,
Install = "",
ScriptName = null
};
var fs = new Mock<IFileSystem>();
fs.Setup(x => x.GetWorkingDirectory(It.IsAny<string>())).Returns(@"C:\");
var resolver = new Mock<IPackageAssemblyResolver>();
var executor = new Mock<IScriptExecutor>();
var scriptpackResolver = new Mock<IScriptPackResolver>();
var packageInstaller = new Mock<IPackageInstaller>();
var root = new ScriptServiceRoot(fs.Object, resolver.Object, executor.Object, scriptpackResolver.Object, packageInstaller.Object);
resolver.Setup(i => i.GetPackages(It.IsAny<string>())).Returns(new List<IPackageReference>
{
new PackageReference("a", new FrameworkName(".NETFramework,Version=v4.0"), new Version()),
new PackageReference("b", new FrameworkName(".NETFramework,Version=v4.0"), new Version())
});
var factory = new CommandFactory(root);
var result = factory.CreateCommand(args);
result.Execute();
packageInstaller.Verify(i => i.InstallPackages(It.Is<IEnumerable<IPackageReference>>(x => x.Count() == 2), It.IsAny<bool>(), It.IsAny<Action<string>>()), Times.Once());
}
示例12: ShouldDeleteAllFilesResolvedFromPackages
public void ShouldDeleteAllFilesResolvedFromPackages()
{
var args = new ScriptCsArgs { Clean = true };
var fs = new Mock<IFileSystem>();
var resolver = new Mock<IPackageAssemblyResolver>();
var executor = new Mock<IScriptExecutor>();
var engine = new Mock<IScriptEngine>();
var scriptpackResolver = new Mock<IScriptPackResolver>();
var packageInstaller = new Mock<IPackageInstaller>();
var logger = new Mock<ILog>();
var filePreProcessor = new Mock<IFilePreProcessor>();
var root = new ScriptServiceRoot(fs.Object, resolver.Object, executor.Object, engine.Object, filePreProcessor.Object, scriptpackResolver.Object, packageInstaller.Object, logger.Object);
fs.Setup(i => i.DirectoryExists(It.Is<string>(x => x.Contains(Constants.BinFolder)))).Returns(true);
fs.Setup(i => i.GetWorkingDirectory(It.IsAny<string>())).Returns("c:\\");
fs.Setup(i => i.FileExists(It.IsAny<string>())).Returns(true);
resolver.Setup(i => i.GetAssemblyNames(It.IsAny<string>(), It.IsAny<Action<string>>())).Returns(new[] { "c:\\file.dll", "c:\\file2.dll" });
var factory = new CommandFactory(root);
var result = factory.CreateCommand(args);
result.Execute();
fs.Verify(i => i.FileDelete(It.IsAny<string>()), Times.Exactly(2));
}
示例13: ScriptExecCommandShouldInvokeWithScriptPassedFromArgs
public void ScriptExecCommandShouldInvokeWithScriptPassedFromArgs(
[Frozen] Mock<IFileSystem> fileSystem,
[Frozen] Mock<IScriptExecutor> executor,
[Frozen] Mock<IInitializationServices> initializationServices,
ScriptServices services)
{
// Arrange
var args = new ScriptCsArgs { AllowPreRelease = false, Install = "", ScriptName = "test.csx" };
var fixture = new Fixture().Customize(new AutoMoqCustomization());
var servicesBuilder = fixture.Freeze<Mock<IScriptServicesBuilder>>();
fileSystem.SetupGet(x => x.CurrentDirectory).Returns(CurrentDirectory);
initializationServices.Setup(i => i.GetFileSystem()).Returns(fileSystem.Object);
servicesBuilder.SetupGet(b => b.InitializationServices).Returns(initializationServices.Object);
servicesBuilder.Setup(b => b.Build()).Returns(services);
var factory = fixture.Create<CommandFactory>();
// Act
factory.CreateCommand(args, new string[0]).Execute();
// Assert
executor.Verify(i => i.Initialize(It.IsAny<IEnumerable<string>>(), It.IsAny<IEnumerable<IScriptPack>>()), Times.Once());
executor.Verify(i => i.Execute(It.Is<string>(x => x == "test.csx"), It.IsAny<string[]>()), Times.Once());
executor.Verify(i => i.Terminate(), Times.Once());
}
示例14: InstallCommandShouldInstallFromPackagesConfigIfNoNamePassed
public void InstallCommandShouldInstallFromPackagesConfigIfNoNamePassed(
[Frozen] Mock<IPackageInstaller> packageInstaller,
[Frozen] Mock<IFileSystem> fileSystem,
[Frozen] Mock<IPackageAssemblyResolver> resolver,
[Frozen] Mock<IInitializationServices> initServices)
{
// Arrange
var args = new ScriptCsArgs { AllowPreRelease = false, Install = "", ScriptName = null };
var fixture = new Fixture().Customize(new AutoMoqCustomization());
var servicesBuilder = fixture.Freeze<Mock<IScriptServicesBuilder>>();
fileSystem.Setup(x => x.GetWorkingDirectory(It.IsAny<string>())).Returns(CurrentDirectory);
fileSystem.SetupGet(x => x.CurrentDirectory).Returns(CurrentDirectory);
initServices.Setup(i => i.GetFileSystem()).Returns(fileSystem.Object);
initServices.Setup(i => i.GetPackageInstaller()).Returns(packageInstaller.Object);
initServices.Setup(i => i.GetPackageAssemblyResolver()).Returns(resolver.Object);
servicesBuilder.SetupGet(b => b.InitializationServices).Returns(initServices.Object);
resolver.Setup(i => i.GetPackages(It.IsAny<string>())).Returns(new List<IPackageReference>
{
new PackageReference("a", new FrameworkName(".NETFramework,Version=v4.0"), new Version()),
new PackageReference("b", new FrameworkName(".NETFramework,Version=v4.0"), new Version())
});
var factory = fixture.Create<CommandFactory>();
// Act
factory.CreateCommand(args, new string[0]).Execute();
// Assert
packageInstaller.Verify(i => i.InstallPackages(It.Is<IEnumerable<IPackageReference>>(x => x.Count() == 2), It.IsAny<bool>()), Times.Once());
}
示例15: InstallCommandShouldInstallSinglePackageIfNamePassed
public void InstallCommandShouldInstallSinglePackageIfNamePassed()
{
var args = new ScriptCsArgs
{
AllowPreRelease = false,
Install = "mypackage",
ScriptName = null
};
const string CurrentDirectory = @"C:\";
var fs = new Mock<IFileSystem>();
fs.Setup(x => x.GetWorkingDirectory(It.IsAny<string>())).Returns(CurrentDirectory);
fs.SetupGet(x => x.CurrentDirectory).Returns(CurrentDirectory);
var resolver = new Mock<IPackageAssemblyResolver>();
var executor = new Mock<IScriptExecutor>();
var engine = new Mock<IScriptEngine>();
var scriptpackResolver = new Mock<IScriptPackResolver>();
var packageInstaller = new Mock<IPackageInstaller>();
var logger = new Mock<ILog>();
var filePreProcessor = new Mock<IFilePreProcessor>();
var root = new ScriptServiceRoot(fs.Object, resolver.Object, executor.Object, engine.Object, filePreProcessor.Object, scriptpackResolver.Object, packageInstaller.Object, logger.Object);
var factory = new CommandFactory(root);
var result = factory.CreateCommand(args);
result.Execute();
packageInstaller.Verify(i => i.InstallPackages(It.Is<IEnumerable<IPackageReference>>(x => x.Count() == 1 && x.First().PackageId == "mypackage"), It.IsAny<bool>(), It.IsAny<Action<string>>()), Times.Once());
}