Esempio n. 1
0
        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);
        }
Esempio n. 2
0
        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);
        }
Esempio n. 4
0
        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);            /*
                                                   *
                                                   */
        }
Esempio n. 5
0
        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);
        }
Esempio n. 6
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);
        }
Esempio n. 7
0
        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);
        }
Esempio n. 8
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);
        }
Esempio n. 9
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);
        }
Esempio n. 10
0
 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);
 }
Esempio n. 11
0
        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));
        }
Esempio n. 12
0
            ProtoScript.Runners.ProtoScriptRunner fsr = new ProtoScript.Runners.ProtoScriptRunner();
            fsr.Execute(
@"
[Associative]
{
    a = [Imperative]
        {
Esempio n. 13
0
        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));
        }
Esempio n. 14
0
 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;
 }
Esempio n. 15
0
        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);
        }
Esempio n. 16
0
        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);
        }
Esempio n. 17
0
        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);            /*
                                                   *
                                                   */
        }
Esempio n. 18
0
        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);
        }
Esempio n. 19
0
        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);
        }
Esempio n. 20
0
        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);
        }
Esempio n. 27
0
        public void RedefineWithFunctions03()
        {
            String code =
@"
class C
{
    mx : var;
    constructor C()
Esempio n. 28
0
    }
    def f(a : int)
    {
        mx = a + 1;
        return = mx;
    }
}
x = 10;
Esempio n. 29
0
 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);
Esempio n. 30
0
            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()
Esempio n. 31
0
        public void SimpleAssignment()
        {
            String code =
@"
	fx : var;
	fy : var;
	fx = 123;
	fy = 345;
	
Esempio n. 32
0
        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;
Esempio n. 33
0
        public void TestDS()
        {
            String code =
@"
size;
[Imperative]
{
	size = 5;
}
Esempio n. 34
0
	def f()
	{
		return = 123;
	}
    def f(a : int)
    {
        return = a;
	}
    x = f();
Esempio n. 35
0
            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()
Esempio n. 36
0
        public void LiteralRetrival()
        {
            String code =
@"
foo;
[Associative]
{
	foo = 5;
}
Esempio n. 37
0
@"def f1(i : int, k : int)
{
return = i + k;
}
def f2(i : int, k : int)
{
return = i - k;
}
x = 12;
Esempio n. 38
0
        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
Esempio n. 39
0
    b = 4;
}
", core, out runtimeCore);
        }
        [Test]
        public void TestMultLanguageImperativeAssociative()
        {
            ProtoScript.Runners.ProtoScriptRunner fsr = new ProtoScript.Runners.ProtoScriptRunner();
            fsr.Execute(
@"
Esempio n. 40
0
", core);
        }
    }

    [TestFixture]
    class MultiLangNegitiveTests : ProtoTestBase
    {
        //Negitive Tests with distortions of the Language def block
        [Test]
        public void ParserFailTest1()
Esempio n. 41
0
     });
 }
 [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(
Esempio n. 42
0
 public void SimpleExpr()
 {
     ProtoScript.Runners.ProtoScriptRunner fsr = new ProtoScript.Runners.ProtoScriptRunner();
     runtimeCore = fsr.Execute(
                 @"
                 [Associative]
                 {
                     a = 10;
                 }
                 ", core);
 }
Esempio n. 43
0
 public void SimpleExpr()
 {
     ProtoScript.Runners.ProtoScriptRunner fsr = new ProtoScript.Runners.ProtoScriptRunner();
     runtimeCore = fsr.Execute(
         @"
                 [Associative]
                 {
                     a = 10;
                 }
                 ", core);
 }
Esempio n. 44
0
            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;
Esempio n. 45
0
        public void TestSingleLanguageImperative()
        {
            ProtoScript.Runners.ProtoScriptRunner fsr = new ProtoScript.Runners.ProtoScriptRunner();
            runtimeCore = fsr.Execute(
                @"
[Imperative]
{
    a = 3;
    b = 4;
}
"                                                          , core);
        }
Esempio n. 46
0
        public void TestSingleLanguageImperative()
        {
            ProtoScript.Runners.ProtoScriptRunner fsr = new ProtoScript.Runners.ProtoScriptRunner();
            runtimeCore = fsr.Execute(
@"
[Imperative]
{
    a = 3;
    b = 4;
}
", core);
        }
Esempio n. 47
0
        public void TestSingleLanguageAssociative()
        {
            ProtoScript.Runners.ProtoScriptRunner fsr = new ProtoScript.Runners.ProtoScriptRunner();
            fsr.Execute(
                @"
[Associative]
{
    a = 3;
    b = 4;
}
"                                                           , core, out runtimeCore);
        }
Esempio n. 48
0
        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(""));
        }
Esempio n. 49
0
        public void BasicInfrastructureTest()
        {
            ProtoScript.Runners.ProtoScriptRunner fsr = new ProtoScript.Runners.ProtoScriptRunner();
            fsr.Execute(
                @"
[Imperative]
{
	x = 987654321;
	[Associative]
	{
		 px = 1234321;
	}
}
"                                                                                          , core, out runtimeCore);
        }
Esempio n. 50
0
        public void TestMultLanguageImperativeAssociative()
        {
            ProtoScript.Runners.ProtoScriptRunner fsr = new ProtoScript.Runners.ProtoScriptRunner();
            runtimeCore = fsr.Execute(
@"
[Imperative]
{
    [Associative]
    {
        return= 5;
    }
    b = 4;
}
", core);
        }
Esempio n. 51
0
 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);
        }
Esempio n. 53
0
 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);
 }
Esempio n. 54
0
        public void TestMultLanguageImperativeAssociative()
        {
            ProtoScript.Runners.ProtoScriptRunner fsr = new ProtoScript.Runners.ProtoScriptRunner();
            runtimeCore = fsr.Execute(
                @"
[Imperative]
{
    [Associative]
    {
        return= 5;
    }
    b = 4;
}
"                                                                                                , core);
        }
Esempio n. 55
0
        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);
        }
Esempio n. 56
0
        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);
        }
Esempio n. 57
0
        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);
        }
Esempio n. 58
0
        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);
        }
Esempio n. 59
0
        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);
        }
Esempio n. 60
0
        public void BasicInfrastructureTest()
        {
            ProtoScript.Runners.ProtoScriptRunner fsr = new ProtoScript.Runners.ProtoScriptRunner();
            fsr.Execute(
@"
[Imperative]