示例#1
0
        public void Run_CallsApi()
        {
            var tc   = NUnit.Framework.TestContext.CurrentContext.TestDirectory;
            var strm = System.IO.File.OpenRead(tc + "./LuaScripts/SimpleTestCase.lua");
            var hr   = new SimpleHarness();

            runner = new ScriptRunner();

            IOC.ResolveImports(runner);

            Expect.MethodCall(() => apiBridge.Init());

            runner.Load(strm);

            Expect.MethodCall(() => apiBridge.BeginTestCase("SimpleHarness", "Mutagen.FrontEnd.Test.dll"));
            Expect.Once.MethodCall(() => apiBridge.TestResults()).Returns(new List <TestResult>());
            Expect.Once.MethodCall(() => apiBridge.TestHarness()).Returns(hr);

            Expect.Once.MethodCall(() => apiBridge.CommitTestCaseCode(Any <IAssertable> .Value.Matching(x => x != null).AsInterface));
            Expect.Once.MethodCall(() => apiBridge.ExecTestCase());

            runner.Run();

            AssertInvocationsWasMade.MatchingExpectationsFor(apiBridge);
        }
示例#2
0
        public void ImportAttribute_ResolvedAutomatically()
        {
            var imp = new Importeur();

            IOC.ResolveImports(imp);
            Assert.IsNotNull(imp.importedFnord);
            Assert.IsTrue(imp.importedFnord is FnordImpl);
            Assert.IsNull(imp.notImportedFnord);
        }
示例#3
0
        public void ResolveImportsForObject_ResolvesMembers()
        {
            IOC.Register <IFoo>(() => { return(new FooImpl()); });

            var tmp = new PrivateMemberImportImpl();

            IOC.ResolveImports(tmp);

            Assert.IsNotNull(tmp.GetMyFoo());
        }
示例#4
0
 public void ImportAttribute_ResolveThrowsException_If_TypeUnknown()
 {
     try
     {
         var fnord = new BadImport();
         IOC.ResolveImports(fnord);
         Assert.Fail();  // should never get here!
     }
     catch (UnknownTypeException)
     {
         // All good!
     }
 }
示例#5
0
        public void Run_FullTestCase()
        {
            IOC.Reset();
            lua       = new Lua();
            apiBridge = new DefaultApiBridge();
            IOC.Register <IApiBridge>(() => apiBridge);
            IOC.Register <ITestEnvironment>(() => new TestEnvironment());
            IOC.Register <ITestContext>(() => new MutagenRuntime.TestContext());
            IOC.Register <Lua>(() => lua);
            IOC.Register <ApiAdapter>(() => new ApiAdapter());


            var tc   = NUnit.Framework.TestContext.CurrentContext.TestDirectory;
            var strm = System.IO.File.OpenRead(tc + "./LuaScripts/FullTestCase.lua");

            runner = new ScriptRunner();
            IOC.ResolveImports(runner);

            // Black Magic: NUnit sets the working dir to a crappy place,
            // so we're shit out of luck, if we try to access a file relative to
            // our working dir. To get around this problem we magic the correct
            // path here and reset the working directory to reflect this:
            var dir = AppDomain.CurrentDomain.BaseDirectory;

            Environment.CurrentDirectory = dir;

            runner.Load(strm);

            runner.Run();

            var results = Api.GetResults();

            Assert.AreEqual(6, results.Count);
            var harness = Api.Testharness() as SimpleHarness;

            Assert.AreEqual("fnord", harness.lastPrint);
        }