private static void TestEntityException(object instance, string javascript, Predicate <Exception> expected) { var engine = new ScriptEngine(); engine.ForceStrictMode = true; engine.SetGlobalValue("$instance", Accessors.CreateEntity(engine, (IModelInstance)instance)); try { var result = engine.Evaluate(javascript); Assert.Fail("Expected an exception but one was not thrown: " + javascript + " --> " + result); } catch (Exception error) { Assert.IsTrue(expected(error), "An error was expected but not '" + error.Message + "': " + javascript); } }
private static void TestEntityExpression <T>(object instance, string javascript, T expectedResult) { TestExpression(engine => Accessors.CreateEntity(engine, (IModelInstance)instance), javascript, expectedResult); }