示例#1
0
 public ModPipeline(IModLocator modLocator, IModParser modParser, IModLoader modLoader, IModIntegrityChecker integrityChecker, IAssemblyResolver resolver, ILoadOrderCalculator orderer)
 {
     ModLocator       = modLocator;
     ModParser        = modParser;
     ModLoader        = modLoader;
     IntegrityChecker = integrityChecker;
     Resolver         = resolver;
     OrderCalculator  = orderer;
     _mods            = new List <IMod>();
 }
        public void Setup()
        {

            // return fake file systems based on the input "files"



            locator = new FakeModLoactor();
            resolveCount = 0;
            parser = new FakeModParser();
            loader = new FakeModLoader();

            integrity = new Mock<IModIntegrityChecker>();

            resolverDisposeMock = new Mock<IDisposable>();

            resolver = new Mock<IAssemblyResolver>();

            resolver.Setup(x => x.Initialize(It.IsAny<IModLoadingDomain>())).Returns(resolverDisposeMock.Object).Callback(() => resolveCount++);

            loadorder = new Mock<ILoadOrderCalculator>();
            loadorder.Setup(x => x.CalculateLoadOrder(It.IsAny<IEnumerable<IMod>>())).Returns(new Func<IEnumerable<IMod>, IEnumerable<IMod>>(x => x));
            pipeline = new ModPipeline(locator, parser, loader, integrity.Object, resolver.Object, loadorder.Object);
        }