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(); 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())).Returns("workingdirectory"); return fileSystem; }); fixture.Register(() => { var composer = new Mock(); composer.SetupGet(c => c.ScriptLibrariesFile).Returns("ScriptLibraries.csx"); return composer; }); var logProvider = new TestLogProvider(); fixture.Register(() => logProvider); fixture.Register(() => logProvider); fixture.Register(() => new AppDomainAssemblyResolver( fixture.Create(), fixture.Create(), fixture.Create(), fixture.Create(), fixture.Create>())); fixture.Register(() => new ScriptLibraryComposer( fixture.Create(), fixture.Create(), fixture.Create(), fixture.Create(), fixture.Create())); fixture.Register(() => new ScriptServices( fixture.Create(), fixture.Create(), fixture.Create(), fixture.Create(), fixture.Create(), fixture.Create(), fixture.Create(), fixture.Create(), fixture.Create(), fixture.Create(), fixture.Create(), fixture.Create>(), fixture.Create(), fixture.Create(), fixture.Create())); fixture.Register(() => new ScriptExecutor( fixture.Create(), fixture.Create(), fixture.Create(), fixture.Create(), fixture.Create(), new ScriptInfo())); } } }