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); }
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); }
public void ResolveImportsForObject_ResolvesMembers() { IOC.Register <IFoo>(() => { return(new FooImpl()); }); var tmp = new PrivateMemberImportImpl(); IOC.ResolveImports(tmp); Assert.IsNotNull(tmp.GetMyFoo()); }
public void ImportAttribute_ResolveThrowsException_If_TypeUnknown() { try { var fnord = new BadImport(); IOC.ResolveImports(fnord); Assert.Fail(); // should never get here! } catch (UnknownTypeException) { // All good! } }
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); }