forked from scriptcs/scriptcs
-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathScriptCsMoqCustomization.cs
More file actions
83 lines (75 loc) · 3.66 KB
/
ScriptCsMoqCustomization.cs
File metadata and controls
83 lines (75 loc) · 3.66 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
using System.Collections.Generic;
using Moq;
using AutoFixture;
using AutoFixture.AutoMoq;
using ScriptCs.Contracts;
namespace ScriptCs.Tests
{
public class ScriptCsMoqCustomization : AutoMoqCustomization, ICustomization
{
void ICustomization.Customize(IFixture fixture)
{
this.Customize(fixture);
fixture.Register(() =>
{
var fileSystem = new Mock<IFileSystem>();
fileSystem.SetupGet(f => f.PackagesFile).Returns("scriptcs_packages.config");
fileSystem.SetupGet(f => f.PackagesFolder).Returns("scriptcs_packages");
fileSystem.SetupGet(f => f.BinFolder).Returns("scriptcs_bin");
fileSystem.SetupGet(f => f.DllCacheFolder).Returns(".scriptcs_cache");
fileSystem.SetupGet(f => f.NugetFile).Returns("scriptcs_nuget.config");
fileSystem.SetupGet(f => f.CurrentDirectory).Returns("workingdirectory");
fileSystem.Setup(f => f.FileExists(@"workingdirectory\scriptcs_packages\PackageScripts.csx"))
.Returns(false);
fileSystem.Setup(f => f.DirectoryExists(@"workingdirectory\scriptcs_packages")).Returns(true);
fileSystem.Setup(f => f.GetWorkingDirectory(It.IsAny<string>())).Returns("workingdirectory");
return fileSystem;
});
fixture.Register(() =>
{
var composer = new Mock<IScriptLibraryComposer>();
composer.SetupGet(c => c.ScriptLibrariesFile).Returns("ScriptLibraries.csx");
return composer;
});
var logProvider = new TestLogProvider();
fixture.Register(() => logProvider);
fixture.Register<ILogProvider>(() => logProvider);
fixture.Register(() => new AppDomainAssemblyResolver(
fixture.Create<ILogProvider>(),
fixture.Create<IFileSystem>(),
fixture.Create<IAssemblyResolver>(),
fixture.Create<IAssemblyUtility>(),
fixture.Create<IDictionary<string, AssemblyInfo>>()));
fixture.Register(() => new ScriptLibraryComposer(
fixture.Create<IFileSystem>(),
fixture.Create<IFilePreProcessor>(),
fixture.Create<IPackageContainer>(),
fixture.Create<IPackageAssemblyResolver>(),
fixture.Create<ILogProvider>()));
fixture.Register(() => new ScriptServices(
fixture.Create<IFileSystem>(),
fixture.Create<IPackageAssemblyResolver>(),
fixture.Create<IScriptExecutor>(),
fixture.Create<IRepl>(),
fixture.Create<IScriptEngine>(),
fixture.Create<IFilePreProcessor>(),
fixture.Create<IScriptPackResolver>(),
fixture.Create<IPackageInstaller>(),
fixture.Create<IObjectSerializer>(),
fixture.Create<ILogProvider>(),
fixture.Create<IAssemblyResolver>(),
fixture.Create<IEnumerable<IReplCommand>>(),
fixture.Create<IFileSystemMigrator>(),
fixture.Create<IConsole>(),
fixture.Create<IInstallationProvider>(),
fixture.Create<IScriptLibraryComposer>()));
fixture.Register(() => new ScriptExecutor(
fixture.Create<IFileSystem>(),
fixture.Create<IFilePreProcessor>(),
fixture.Create<IScriptEngine>(),
fixture.Create<ILogProvider>(),
fixture.Create<IScriptLibraryComposer>(),
new ScriptInfo()));
}
}
}