public void TestMultLanguageVariableUsage() { ProtoScript.Runners.ProtoScriptRunner fsr = new ProtoScript.Runners.ProtoScriptRunner(); runtimeCore = fsr.Execute( @" [Associative] { a = 2; [Imperative] { if(a == 2 ) { b = a + 5; a = 20; } else { b = 4; } } c = a; } " , core); }
public void TestArrayLayerStatsSimple() { String code = @" a;b;c; [Imperative] { a = [1,2,3]; b = [1.0, 2.0, 3.0, 3.0]; c = [1.0, 2.0, 9]; } "; ProtoScript.Runners.ProtoScriptRunner fsr = new ProtoScript.Runners.ProtoScriptRunner(); ProtoCore.RuntimeCore runtimeCore = null; runtimeCore = fsr.Execute(code, core); ExecutionMirror mirror = runtimeCore.Mirror; StackValue svA = mirror.GetRawFirstValue("a"); var dict = ProtoCore.Utils.ArrayUtils.GetTypeStatisticsForLayer(svA, runtimeCore); Assert.IsTrue(dict[dict.Keys.First()] == 3); StackValue svB = mirror.GetRawFirstValue("b"); var dict2 = ProtoCore.Utils.ArrayUtils.GetTypeStatisticsForLayer(svB, runtimeCore); Assert.IsTrue(dict2[dict2.Keys.First()] == 4); StackValue svC = mirror.GetRawFirstValue("c"); var dict3 = ProtoCore.Utils.ArrayUtils.GetTypeStatisticsForLayer(svC, runtimeCore); Assert.IsTrue(dict3[dict3.Keys.First()] == 2); Assert.IsTrue(dict3[dict3.Keys.Last()] == 1); // Assert.IsTrue((Int64)o.Payload == 5); }
public void RedefineWithFunctions03() { String code = @" class C { mx : var; constructor C() { mx = 10; } def f(a : int) { mx = a + 1; return = mx; } } x = 10; p = C.C(); x = p.f(x); "; ProtoScript.Runners.ProtoScriptRunner fsr = new ProtoScript.Runners.ProtoScriptRunner(); runtimeCore = fsr.Execute(code, core); ExecutionMirror mirror = runtimeCore.Mirror; Assert.IsTrue((Int64)mirror.GetValue("x").Payload == 11); }
public void TestDepthCountOnJaggedArray() { String code = @" a = {1,{{1},{3.1415}},null,1.0,12.3}; b = {1,2,{3}}; x = {{1},{3.1415}}; "; ProtoScript.Runners.ProtoScriptRunner fsr = new ProtoScript.Runners.ProtoScriptRunner(); ProtoCore.RuntimeCore runtimeCore = null; ExecutionMirror mirror = fsr.Execute(code, core, out runtimeCore); StackValue a = mirror.GetRawFirstValue("a"); StackValue b = mirror.GetRawFirstValue("b"); StackValue x = mirror.GetRawFirstValue("x"); int rankA = ArrayUtils.GetMaxRankForArray(a, runtimeCore); Assert.IsTrue(rankA == 3); int rankB = ArrayUtils.GetMaxRankForArray(b, runtimeCore); Assert.IsTrue(rankB == 2); int rankX = ArrayUtils.GetMaxRankForArray(x, runtimeCore); Assert.IsTrue(rankX == 2); /* * */ }
public void TestMethodResolutionOverInheritance() { string code = @" class A { def execute(a : A) { return = 1; } } class B extends A { } class C extends B { } c = C.C(); val = c.execute(c); " ; ProtoScript.Runners.ProtoScriptRunner fsr = new ProtoScript.Runners.ProtoScriptRunner(); runtimeCore = fsr.Execute(code, core); ExecutionMirror mirror = runtimeCore.Mirror; Assert.IsTrue((Int64)mirror.GetValue("val").Payload == 1); Assert.IsTrue(core.BuildStatus.WarningCount == 0); }
public void ModifierStackWithArray() { ProtoScript.Runners.ProtoScriptRunner fsr = new ProtoScript.Runners.ProtoScriptRunner(); runtimeCore = fsr.Execute( @" a; ainit; afirst; [Associative] { a = { {3, 2, 1} => ainit; 1 => afirst; } } ", core); ExecutionMirror mirror = runtimeCore.Mirror; Obj o = mirror.GetValue("ainit"); List <Obj> os = mirror.GetArrayElements(o); Assert.IsTrue(os.Count == 3); Assert.IsTrue((Int64)os[0].Payload == 3); Assert.IsTrue((Int64)os[1].Payload == 2); Assert.IsTrue((Int64)os[2].Payload == 1); Assert.IsTrue((Int64)mirror.GetValue("afirst", 0).Payload == 1); }
public void TestMethodOverlaodAndArrayInput4Min() { string code = @" class A { } class B extends A { static def execute(b : B) { return = -1; } def execute(arr : B[]) { return = 2; } } arr = {B.B(), B.B()}; val = B.execute(arr); val1 = val[0]; val2 = val[1]; " ; ProtoScript.Runners.ProtoScriptRunner fsr = new ProtoScript.Runners.ProtoScriptRunner(); runtimeCore = fsr.Execute(code, core); ExecutionMirror mirror = runtimeCore.Mirror; Assert.IsTrue((Int64)mirror.GetValue("val1").Payload == -1); Assert.IsTrue((Int64)mirror.GetValue("val2").Payload == -1); Assert.IsTrue(core.BuildStatus.WarningCount == 0); }
public void TestMethodOverload1() { string code = @" class A { def execute(a : A) { return = 1; } } class B extends A { def execute(b : B) { return = 2; } } a = A.A(); b = B.B(); val = b.execute(a); " ; ProtoScript.Runners.ProtoScriptRunner fsr = new ProtoScript.Runners.ProtoScriptRunner(); runtimeCore = fsr.Execute(code, core); ExecutionMirror mirror = runtimeCore.Mirror; Assert.IsTrue((Int64)mirror.GetValue("val").Payload == 1); Assert.IsTrue(core.BuildStatus.WarningCount == 0); }
public void RedefineWithFunctions03() { String code = @" class C { mx : var; constructor C() { mx = 10; } def f(a : int) { mx = a + 1; return = mx; } } x = 10; p = C.C(); x = p.f(x); " ; ProtoScript.Runners.ProtoScriptRunner fsr = new ProtoScript.Runners.ProtoScriptRunner(); ExecutionMirror mirror = fsr.Execute(code, core, out runtimeCore); Assert.IsTrue((Int64)mirror.GetValue("x").Payload == 11); }
public void ClassTest() { ProtoScript.Runners.ProtoScriptRunner fsr = new ProtoScript.Runners.ProtoScriptRunner(); fsr.Execute( @" [Associative] { class Point { mx : var; my : var; mz : var; constructor Point(xx : double, yy : double, zz : double) { mz = xx; my = yy; mx = zz; } } point = Point.Point(10,10,10); } ", core); //Object o = mirror.GetValue("point.mx"); //Assert.IsTrue((long)o == 10); }
public void GetUpcastChainTest() { String code = @"class A {} class B extends A {} class C extends B {} "; ProtoScript.Runners.ProtoScriptRunner fsr = new ProtoScript.Runners.ProtoScriptRunner(); ProtoCore.RuntimeCore runtimeCore = null; runtimeCore = fsr.Execute(code, core); ExecutionMirror mirror = runtimeCore.Mirror; int idA = core.ClassTable.IndexOf("A"); int idB = core.ClassTable.IndexOf("B"); int idC = core.ClassTable.IndexOf("C"); ClassNode cnA = core.ClassTable.ClassNodes[idA]; ClassNode cnB = core.ClassTable.ClassNodes[idB]; ClassNode cnC = core.ClassTable.ClassNodes[idC]; List <int> idsA = ClassUtils.GetClassUpcastChain(cnA, runtimeCore); List <int> idsB = ClassUtils.GetClassUpcastChain(cnB, runtimeCore); List <int> idsC = ClassUtils.GetClassUpcastChain(cnC, runtimeCore); Assert.IsTrue(idsA.Count == 2); Assert.IsTrue(idsA.Contains(idA)); Assert.IsTrue(idsB.Count == 3); Assert.IsTrue(idsB.Contains(idA)); Assert.IsTrue(idsB.Contains(idB)); Assert.IsTrue(idsC.Count == 4); Assert.IsTrue(idsC.Contains(idA)); Assert.IsTrue(idsC.Contains(idB)); Assert.IsTrue(idsC.Contains(idC)); }
ProtoScript.Runners.ProtoScriptRunner fsr = new ProtoScript.Runners.ProtoScriptRunner(); fsr.Execute( @" [Associative] { a = [Imperative] {
public void GetUpcastChainTest() { String code = @"class A {} class B extends A {} class C extends B {} "; ProtoScript.Runners.ProtoScriptRunner fsr = new ProtoScript.Runners.ProtoScriptRunner(); ProtoCore.RuntimeCore runtimeCore = null; runtimeCore = fsr.Execute(code, core); ExecutionMirror mirror = runtimeCore.Mirror; int idA = core.ClassTable.IndexOf("A"); int idB = core.ClassTable.IndexOf("B"); int idC = core.ClassTable.IndexOf("C"); ClassNode cnA = core.ClassTable.ClassNodes[idA]; ClassNode cnB = core.ClassTable.ClassNodes[idB]; ClassNode cnC = core.ClassTable.ClassNodes[idC]; List<int> idsA = ClassUtils.GetClassUpcastChain(cnA, runtimeCore); List<int> idsB = ClassUtils.GetClassUpcastChain(cnB, runtimeCore); List<int> idsC = ClassUtils.GetClassUpcastChain(cnC, runtimeCore); Assert.IsTrue(idsA.Count == 2); Assert.IsTrue(idsA.Contains(idA)); Assert.IsTrue(idsB.Count == 3); Assert.IsTrue(idsB.Contains(idA)); Assert.IsTrue(idsB.Contains(idB)); Assert.IsTrue(idsC.Count == 4); Assert.IsTrue(idsC.Contains(idA)); Assert.IsTrue(idsC.Contains(idB)); Assert.IsTrue(idsC.Contains(idC)); }
protected int ExecuteAndVerify(String code, ValidationData[] data, Dictionary<string, Object> context, out int nErrors) { ProtoCore.Core core = Setup(); ProtoScript.Runners.ProtoScriptRunner fsr = new ProtoScript.Runners.ProtoScriptRunner(); ProtoCore.CompileTime.Context compileContext = new ProtoCore.CompileTime.Context(code, context); ProtoCore.RuntimeCore runtimeCore = null; ExecutionMirror mirror = fsr.Execute(compileContext, core, out runtimeCore); int nWarnings = runtimeCore.RuntimeStatus.WarningCount; nErrors = core.BuildStatus.ErrorCount; if (data == null) { runtimeCore.Cleanup(); return nWarnings + nErrors; } TestFrameWork thisTest = new TestFrameWork(); foreach (var item in data) { if (item.ExpectedValue == null) { object nullOb = null; TestFrameWork.Verify(mirror, item.ValueName, nullOb, item.BlockIndex); } else { TestFrameWork.Verify(mirror, item.ValueName, item.ExpectedValue, item.BlockIndex); } } runtimeCore.Cleanup(); return nWarnings + nErrors; }
public void SimpleMethodOverload2() { String code = @" x : var; y : var; def scale : int() { x = x * 2; y = y * 2; return = 0; } def scale : int(s: int) { x = x * s; y = y * s; return = 0; } x = 10; y = 40; n = scale(); n = scale(10); " ; ProtoScript.Runners.ProtoScriptRunner fsr = new ProtoScript.Runners.ProtoScriptRunner(); runtimeCore = fsr.Execute(code, core); ExecutionMirror mirror = runtimeCore.Mirror; Assert.IsTrue((Int64)mirror.GetValue("x").Payload == 200); Assert.IsTrue((Int64)mirror.GetValue("y").Payload == 800); }
public void TestOverridenMethod() { string code = @" class A { def foo(x : double) { return = 1; } } class B extends A { def foo(x : double) { return = 2; } } // a = A.A(); // val1 = a.foo(0.0); b = B.B(); val2 =b.foo(0.0); " ; ProtoScript.Runners.ProtoScriptRunner fsr = new ProtoScript.Runners.ProtoScriptRunner(); runtimeCore = fsr.Execute(code, core); ExecutionMirror mirror = runtimeCore.Mirror; //Assert.IsTrue((Int64)mirror.GetValue("val1").Payload == 1); Assert.IsTrue((Int64)mirror.GetValue("val2").Payload == 2); }
public void TestDepthCountOnJaggedArray() { String code = @" a = [1,[[1],[3.1415]],null,1.0,12.3]; b = [1,2,[3]]; x = [[1],[3.1415]]; "; ProtoScript.Runners.ProtoScriptRunner fsr = new ProtoScript.Runners.ProtoScriptRunner(); ProtoCore.RuntimeCore runtimeCore = null; runtimeCore = fsr.Execute(code, core); ExecutionMirror mirror = runtimeCore.Mirror; StackValue a = mirror.GetRawFirstValue("a"); StackValue b = mirror.GetRawFirstValue("b"); StackValue x = mirror.GetRawFirstValue("x"); int rankA = ArrayUtils.GetMaxRankForArray(a, runtimeCore); Assert.IsTrue(rankA == 3); int rankB = ArrayUtils.GetMaxRankForArray(b, runtimeCore); Assert.IsTrue(rankB == 2); int rankX = ArrayUtils.GetMaxRankForArray(x, runtimeCore); Assert.IsTrue(rankX == 2); /* * */ }
public void ModifierStackWithArrayAndFunction() { ProtoScript.Runners.ProtoScriptRunner fsr = new ProtoScript.Runners.ProtoScriptRunner(); runtimeCore = fsr.Execute( @"ainit;afirst;b; [Associative] { def foo : int(x : int) { a = x+2; return = a; } b = { {3, 2, 1} => ainit; foo(7) => afirst; } } ", core); ExecutionMirror mirror = runtimeCore.Mirror; Obj o = mirror.GetValue("ainit"); List <Obj> os = mirror.GetArrayElements(o); Assert.IsTrue(os.Count == 3); Assert.IsTrue((Int64)os[0].Payload == 3); Assert.IsTrue((Int64)os[1].Payload == 2); Assert.IsTrue((Int64)os[2].Payload == 1); Assert.IsTrue((Int64)mirror.GetValue("afirst", 0).Payload == 9); Assert.IsTrue((Int64)mirror.GetValue("b", 0).Payload == 9); }
public void IsArrayTest() { String code = @" i=[Imperative] { a = [1,2,3]; b = 1; c = a; return [a,b,c]; } a=i[0]; b=i[1]; c=i[2]; "; ProtoScript.Runners.ProtoScriptRunner fsr = new ProtoScript.Runners.ProtoScriptRunner(); ProtoCore.RuntimeCore runtimeCore = null; runtimeCore = fsr.Execute(code, core); ExecutionMirror mirror = runtimeCore.Mirror; StackValue svA = mirror.GetRawFirstValue("a"); StackValue svB = mirror.GetRawFirstValue("b"); StackValue svC = mirror.GetRawFirstValue("c"); StackValue svI = mirror.GetRawFirstValue("i"); Assert.IsTrue(!svA.IsArray); Assert.IsTrue(!svB.IsArray); Assert.IsTrue(!svC.IsArray); Assert.IsTrue(svI.IsArray); }
public void ModifierStackWithArrayAndFunction2() { ProtoScript.Runners.ProtoScriptRunner fsr = new ProtoScript.Runners.ProtoScriptRunner(); runtimeCore = fsr.Execute( @"b;ainit;afirst; [Associative] { def foo : int(x : int) { a = x+2; return = a; } b = { 8 => ainit; foo(ainit) => afirst; } } ", core); ExecutionMirror mirror = runtimeCore.Mirror; Assert.IsTrue((Int64)mirror.GetValue("ainit", 0).Payload == 8); Assert.IsTrue((Int64)mirror.GetValue("afirst", 0).Payload == 10); Assert.IsTrue((Int64)mirror.GetValue("b", 0).Payload == 10); }
public void AccessGlobalVariableInsideFunction() { string code = @" arr = { 1, 2, 3 }; factor = 10; def foo : int[]() { f = factor; [Imperative] { ix = 0; for(i in arr) { arr[ix] = arr[ix] * factor * f; ix = ix + 1; } } return = arr; } w = foo(); w0 = w[0]; w1 = w[1]; w2 = w[2]; " ; ProtoScript.Runners.ProtoScriptRunner fsr = new ProtoScript.Runners.ProtoScriptRunner(); runtimeCore = fsr.Execute(code, core); ExecutionMirror mirror = runtimeCore.Mirror; Assert.IsTrue((Int64)mirror.GetValue("w0").Payload == 100); Assert.IsTrue((Int64)mirror.GetValue("w1").Payload == 200); Assert.IsTrue((Int64)mirror.GetValue("w2").Payload == 300); }
public void EmbeddedTest003() { String code = @" x; [Associative] { x = { 0 => xfirst; +1 => xsecond; } [Imperative] { x = x + 5; } } " ; ProtoScript.Runners.ProtoScriptRunner fsr = new ProtoScript.Runners.ProtoScriptRunner(); runtimeCore = fsr.Execute(code, core); ExecutionMirror mirror = runtimeCore.Mirror; Obj o = mirror.GetValue("x"); Assert.IsTrue((Int64)o.Payload == 6); }
public void NestedBlockInFunction04() { String code = @" def foo () { t = [Associative] { t1 = [Imperative] { t2 = 6; return = t2; } return = t1; } return = t; } p = foo(); " ; ProtoScript.Runners.ProtoScriptRunner fsr = new ProtoScript.Runners.ProtoScriptRunner(); runtimeCore = fsr.Execute(code, core); ExecutionMirror mirror = runtimeCore.Mirror; Assert.IsTrue((Int64)mirror.GetValue("p").Payload == 6); }
public void NestedBlockInFunction02() { String code = @" def clampRange : int(i : int, rangeMin : int, rangeMax : int) { result = [Imperative] { clampedValue = i; if(i < rangeMin) { clampedValue = rangeMin; } elseif( i > rangeMax ) { clampedValue = rangeMax; } return = clampedValue; } return = result; } a = clampRange(101, 10, 100); " ; ProtoScript.Runners.ProtoScriptRunner fsr = new ProtoScript.Runners.ProtoScriptRunner(); runtimeCore = fsr.Execute(code, core); ExecutionMirror mirror = runtimeCore.Mirror; Assert.IsTrue((Int64)mirror.GetValue("a").Payload == 100); }
public void LanguageBlockReturn02() { String code = @" a; [Associative] { def DoSomthing : int(p : int) { ret = p; d = [Imperative] { loc = 20; return = loc; } return = ret * 100 + d; } a = DoSomthing(10); } " ; ProtoScript.Runners.ProtoScriptRunner fsr = new ProtoScript.Runners.ProtoScriptRunner(); runtimeCore = fsr.Execute(code, core); ExecutionMirror mirror = runtimeCore.Mirror; Assert.IsTrue((Int64)mirror.GetValue("a").Payload == 1020); }
public void LanguageBlockReturn01() { String code = @" a; [Associative] { a = 4; b = a*2; x = [Imperative] { i=0; return = i; } a = x; temp = 5; } " ; ProtoScript.Runners.ProtoScriptRunner fsr = new ProtoScript.Runners.ProtoScriptRunner(); runtimeCore = fsr.Execute(code, core); ExecutionMirror mirror = runtimeCore.Mirror; Assert.IsTrue((Int64)mirror.GetValue("a").Payload == 0); }
public void RedefineWithFunctions03() { String code = @" class C { mx : var; constructor C()
} def f(a : int) { mx = a + 1; return = mx; } } x = 10;
ExecutionMirror mirror = thisTest.RunScriptSource(code); thisTest.Verify("f0", false); thisTest.Verify("f1", false); thisTest.Verify("f2", false); thisTest.Verify("f3", false); thisTest.Verify("t0", true); thisTest.Verify("t1", true); thisTest.Verify("t2", true);
runtimeCore = fsr.Execute(code, core); ExecutionMirror mirror = runtimeCore.Mirror; Assert.IsTrue((Int64)mirror.GetValue("x").Payload == 123); Assert.IsTrue((Int64)mirror.GetValue("y").Payload == 345); } [Test] [Category("DSDefinedClass_Ported")] public void SimpleMethodOverload2()
public void SimpleAssignment() { String code = @" fx : var; fy : var; fx = 123; fy = 345;
return = 0; } x = 10; y = 40; n = scale(); n = scale(10); "; ProtoScript.Runners.ProtoScriptRunner fsr = new ProtoScript.Runners.ProtoScriptRunner(); runtimeCore = fsr.Execute(code, core); ExecutionMirror mirror = runtimeCore.Mirror;
public void TestDS() { String code = @" size; [Imperative] { size = 5; }
def f() { return = 123; } def f(a : int) { return = a; } x = f();
ProtoScript.Runners.ProtoScriptRunner fsr = new ProtoScript.Runners.ProtoScriptRunner(); runtimeCore = fsr.Execute(code, core); ExecutionMirror mirror = runtimeCore.Mirror; Assert.IsTrue((Int64)mirror.GetValue("x").Payload == 123); Assert.IsTrue((Int64)mirror.GetValue("y").Payload == 345); } [Test] [Category("DSDefinedClass_Ported")] public void SimpleMethodOverload1()
public void LiteralRetrival() { String code = @" foo; [Associative] { foo = 5; }
@"def f1(i : int, k : int) { return = i + k; } def f2(i : int, k : int) { return = i - k; } x = 12;
public void PreClarifyPreParseBracket001() { String code = @"x; [Associative] { a = {1001,1002}; // This is failing the pre-parse. // Probably has somthing to do with convertingthe language blocks into binary exprs
b = 4; } ", core, out runtimeCore); } [Test] public void TestMultLanguageImperativeAssociative() { ProtoScript.Runners.ProtoScriptRunner fsr = new ProtoScript.Runners.ProtoScriptRunner(); fsr.Execute( @"
", core); } } [TestFixture] class MultiLangNegitiveTests : ProtoTestBase { //Negitive Tests with distortions of the Language def block [Test] public void ParserFailTest1()
}); } [Test] public void ParserFailTest2() { ProtoScript.Runners.ProtoScriptRunner fsr = new ProtoScript.Runners.ProtoScriptRunner(); //@TODO: What exception should this throw Assert.Throws(typeof(ProtoCore.Exceptions.CompileErrorsOccured), () => { fsr.Execute(
public void SimpleExpr() { ProtoScript.Runners.ProtoScriptRunner fsr = new ProtoScript.Runners.ProtoScriptRunner(); runtimeCore = fsr.Execute( @" [Associative] { a = 10; } ", core); }
public void SimpleExpr() { ProtoScript.Runners.ProtoScriptRunner fsr = new ProtoScript.Runners.ProtoScriptRunner(); runtimeCore = fsr.Execute( @" [Associative] { a = 10; } ", core); }
ExecutionMirror mirror = fsr.Execute(code, core, out runtimeCore); Obj o = mirror.GetValue("foo"); Assert.IsTrue((Int64)o.Payload == 5); } [Test] public void ArrayRetrival1D() { String code = @" foo;
public void TestSingleLanguageImperative() { ProtoScript.Runners.ProtoScriptRunner fsr = new ProtoScript.Runners.ProtoScriptRunner(); runtimeCore = fsr.Execute( @" [Imperative] { a = 3; b = 4; } " , core); }
public void TestSingleLanguageImperative() { ProtoScript.Runners.ProtoScriptRunner fsr = new ProtoScript.Runners.ProtoScriptRunner(); runtimeCore = fsr.Execute( @" [Imperative] { a = 3; b = 4; } ", core); }
public void TestSingleLanguageAssociative() { ProtoScript.Runners.ProtoScriptRunner fsr = new ProtoScript.Runners.ProtoScriptRunner(); fsr.Execute( @" [Associative] { a = 3; b = 4; } " , core, out runtimeCore); }
public void Defect_TestArrayGetCommonSuperType_2_EmptyArray() { String code = @" class A{}; class B extends A{}; class C extends A{}; class D extends C{}; a = A.A(); ba:A = B.B(); ca:A = C.C(); dc:C = D.D(); tABC = [ a, ba, ca ]; tABD = [ a, ba, dc ]; tACD = [ a, ca, dc ]; tBCD = [ ba, ca, dc ]; tDD = [dc, D.D()]; tE = [];//empty array "; ProtoScript.Runners.ProtoScriptRunner fsr = new ProtoScript.Runners.ProtoScriptRunner(); ProtoCore.RuntimeCore runtimeCore = null; runtimeCore = fsr.Execute(code, core); ExecutionMirror mirror = runtimeCore.Mirror; StackValue svABC = mirror.GetRawFirstValue("tABC"); ClassNode superABC = ArrayUtils.GetGreatestCommonSubclassForArray(svABC, runtimeCore); Assert.IsTrue(superABC.Name == "A"); StackValue svABD = mirror.GetRawFirstValue("tABD"); ClassNode superABD = ArrayUtils.GetGreatestCommonSubclassForArray(svABD, runtimeCore); Assert.IsTrue(superABD.Name == "A"); StackValue svACD = mirror.GetRawFirstValue("tACD"); ClassNode superACD = ArrayUtils.GetGreatestCommonSubclassForArray(svACD, runtimeCore); Assert.IsTrue(superABD.Name == "A"); StackValue svBCD = mirror.GetRawFirstValue("tBCD"); ClassNode superBCD = ArrayUtils.GetGreatestCommonSubclassForArray(svBCD, runtimeCore); Assert.IsTrue(superBCD.Name == "A"); StackValue svDD = mirror.GetRawFirstValue("tDD"); ClassNode superDD = ArrayUtils.GetGreatestCommonSubclassForArray(svDD, runtimeCore); Assert.IsTrue(superDD.Name == "D"); StackValue svE = mirror.GetRawFirstValue("tE"); ClassNode superE = ArrayUtils.GetGreatestCommonSubclassForArray(svE, runtimeCore); Assert.IsTrue(superE == null); //Assert.IsTrue(superE.name.Equals("")); }
public void BasicInfrastructureTest() { ProtoScript.Runners.ProtoScriptRunner fsr = new ProtoScript.Runners.ProtoScriptRunner(); fsr.Execute( @" [Imperative] { x = 987654321; [Associative] { px = 1234321; } } " , core, out runtimeCore); }
public void TestMultLanguageImperativeAssociative() { ProtoScript.Runners.ProtoScriptRunner fsr = new ProtoScript.Runners.ProtoScriptRunner(); runtimeCore = fsr.Execute( @" [Imperative] { [Associative] { return= 5; } b = 4; } ", core); }
public void SimpleFuncDef() { ProtoScript.Runners.ProtoScriptRunner fsr = new ProtoScript.Runners.ProtoScriptRunner(); runtimeCore = fsr.Execute( @" [Associative] { def foo : int (b : int) { return = 2; } x = foo(2); } ", core); }
public void RedefineWithFunctions01() { String code = @" def f(i : int) { return = i + 1; } x = 1000; x = f(x); "; ProtoScript.Runners.ProtoScriptRunner fsr = new ProtoScript.Runners.ProtoScriptRunner(); runtimeCore = fsr.Execute(code, core); ExecutionMirror mirror = runtimeCore.Mirror; Assert.IsTrue((Int64)mirror.GetValue("x").Payload == 1001); }
public void SimpleFuncDef() { ProtoScript.Runners.ProtoScriptRunner fsr = new ProtoScript.Runners.ProtoScriptRunner(); runtimeCore = fsr.Execute( @" [Associative] { def foo : int (b : int) { return = 2; } x = foo(2); } ", core); }
public void TestMultLanguageImperativeAssociative() { ProtoScript.Runners.ProtoScriptRunner fsr = new ProtoScript.Runners.ProtoScriptRunner(); runtimeCore = fsr.Execute( @" [Imperative] { [Associative] { return= 5; } b = 4; } " , core); }
public void RedefineWithExpressionLists01() { String code = @" a = 1; a = {a, 2}; x = a[0]; y = a[1]; "; ProtoScript.Runners.ProtoScriptRunner fsr = new ProtoScript.Runners.ProtoScriptRunner(); runtimeCore = fsr.Execute(code, core); ExecutionMirror mirror = runtimeCore.Mirror; Assert.IsTrue((Int64)mirror.GetValue("x").Payload == 1); Assert.IsTrue((Int64)mirror.GetValue("y").Payload == 2); }
public void StackValueDiffTestDefect() { String code = @"[Imperative] { a = 1; b = 1.0; } "; ProtoScript.Runners.ProtoScriptRunner fsr = new ProtoScript.Runners.ProtoScriptRunner(); ProtoCore.RuntimeCore runtimeCore = null; runtimeCore = fsr.Execute(code, core); ExecutionMirror mirror = runtimeCore.Mirror; StackValue svA = mirror.GetRawFirstValue("a"); StackValue svB = mirror.GetRawFirstValue("b"); Assert.IsTrue(svA.metaData.type != svB.metaData.type); }
public void TwoSimpleExprInModifierStack() { ProtoScript.Runners.ProtoScriptRunner fsr = new ProtoScript.Runners.ProtoScriptRunner(); ExecutionMirror mirror = fsr.Execute( @" a; [Associative] { a = { 10; 20; } } ", core, out runtimeCore); Assert.IsTrue((Int64)mirror.GetValue("a", 0).Payload == 20); }
public void StackValueDiffTestProperty01() { String code = @" import(""FFITarget.dll""); [Imperative] { a = ClassFunctionality.ClassFunctionality(20); b = 1.0; } "; ProtoScript.Runners.ProtoScriptRunner fsr = new ProtoScript.Runners.ProtoScriptRunner(); ProtoCore.RuntimeCore runtimeCore = null; runtimeCore = fsr.Execute(code, core); ExecutionMirror mirror = runtimeCore.Mirror; StackValue svA = mirror.GetRawFirstValue("a"); StackValue svB = mirror.GetRawFirstValue("b"); Assert.IsTrue(svA.metaData.type != svB.metaData.type); }
public void ArrayRetrival2DJagged() { String code = @" foo; [Associative] { foo = {{5}, 6}; } "; ProtoScript.Runners.ProtoScriptRunner fsr = new ProtoScript.Runners.ProtoScriptRunner(); runtimeCore = fsr.Execute(code, core); ExecutionMirror mirror = runtimeCore.Mirror; Obj o = mirror.GetValue("foo"); ProtoCore.DSASM.Mirror.DsasmArray a = (ProtoCore.DSASM.Mirror.DsasmArray)o.Payload; Assert.IsTrue(a.members.Length == 2); ProtoCore.DSASM.Mirror.DsasmArray a2 = (ProtoCore.DSASM.Mirror.DsasmArray)((a.members[0]).Payload); Assert.IsTrue(a2.members.Length == 1); Assert.IsTrue((Int64)a2.members[0].Payload == 5); Assert.IsTrue((Int64)a.members[1].Payload == 6); }
public void BasicInfrastructureTest() { ProtoScript.Runners.ProtoScriptRunner fsr = new ProtoScript.Runners.ProtoScriptRunner(); fsr.Execute( @" [Imperative]