public void CatchTest5()
        {
            var uvar   = new UVars();
            var target = SobaAcs.MakeWithTryComponent(uvar);

            Assert.Empty(uvar.Variables);
            target.Eval(@"
                            #[try
                            { 
                                #[notrealcomponentToError]
     
                                #[( true ){
                                    $(test1 = '123')
                                }]
                            }
                            catch
                            {
                                #[( true ){
                                    $(test2 = '456')
                                }]
                            }] 
                        ");

            Assert.Single(uvar.Variables);
            Assert.Null(uvar.GetValue("test1", null));
            Assert.Equal("456", uvar.GetValue("test2", null));
        }
        public void ParseTest2()
        {
            var target = new TryComponent(SobaAcs.MakeWithTryComponent());

            Assert.Equal(Value.Empty, target.Eval("[try\n{}\ncatch\n{ if error }]"));
            Assert.Equal(Value.Empty, target.Eval("[try\n{}\n catch\n { \n} ]"));
        }
Beispiel #3
0
        public void ContainerTest2()
        {
            var target = SobaAcs.MakeNewCoreOnly();

            Assert.Equal("#[var name = left [box1 right]", target.Eval("#[var name = left [box1 right]"));
            Assert.Equal(string.Empty, target.Eval("#[var name = \"left [box1 right\"]"));
        }
Beispiel #4
0
        public void ContainerTest3()
        {
            var target = SobaAcs.MakeNewCoreOnly();

            Assert.Equal("test - cc", target.Eval("#[var sres = <#data>Data1</#data>]test - cc#[var sres2 = <#data>Data2</#data>]"));
            Assert.Equal("test - cc", target.Eval("#[var sres = <#data>Data1\n\nEnd</#data>]test - cc#[var sres2 = <#data>Data2\n\nEnd</#data>]"));
        }
        public void ParseTest4()
        {
            var target = new TryComponent(SobaAcs.MakeWithTryComponent());

            Assert.Throws <NotSupportedOperationException>(() =>
                                                           target.Eval("[try{ #[notrealcomponentToError] }catch('err', 'msg'){ }]")
                                                           );
        }
        public void ParseTest3()
        {
            var target = new TryComponent(SobaAcs.MakeWithTryComponent());

            Assert.Throws <IncorrectSyntaxException>(() =>
                                                     target.Eval("[try{ }]")
                                                     );
        }
Beispiel #7
0
        public void IterateTest1()
        {
            var target = SobaAcs.MakeWithBoxComponent();

            Assert.Throws <IncorrectNodeException>(() =>
                                                   _NoSpaces(@"#[Box iterate: ]", target)
                                                   );
        }
Beispiel #8
0
        public void ParseTest6()
        {
            uvars.UnsetAll();
            var target = SobaAcs.MakeNewCoreOnly(uvars);

            Assert.Equal(string.Empty, target.Eval("#[\" #[var name = value] \"]"));
            Assert.Empty(uvars.Variables);
        }
Beispiel #9
0
        public void StDataTest9()
        {
            var uvar   = new UVars();
            var target = SobaAcs.MakeWithBoxComponent(uvar);

            Assert.Equal(string.Empty, target.Eval("#[Box data.free(\"test1\")]"));
            Assert.Equal(string.Empty, target.Eval("#[Box data.free(\"test2\")]"));
        }
Beispiel #10
0
 public void ActivatorTest2()
 {
     Assert.Throws <MismatchException>(() =>
     {
         var target = SobaAcs.MakeNewCoreOnly();
         target.Eval("#[NotRealComponent prop.Test]");
     });
 }
Beispiel #11
0
        public void ContainerTest1()
        {
            var target = SobaAcs.MakeNewCoreOnly();

            Assert.Equal("ne]", target.Eval("#[var name = value\nli]ne]"));
            Assert.Equal(string.Empty, target.Eval("#[var name = <#data>value\nli]ne</#data>]"));
            Assert.Equal(string.Empty, target.Eval("#[var name = left [box1] right]"));
        }
Beispiel #12
0
        public void ParseTest1()
        {
            var target = SobaAcs.MakeWithBoxComponent();

            Assert.Throws <SubtypeNotFoundException>(() =>
                                                     target.Eval(@"#[Box notrealnode]")
                                                     );
        }
Beispiel #13
0
        public void ContainerTest6()
        {
            var uvar   = new UVars();
            var target = SobaAcs.MakeNewCoreOnly(uvar);

            Assert.Equal(string.Empty, target.Eval("#[var name = left [box1] right]"));
            Assert.Single(uvar.Variables);
            Assert.Equal("left [box1] right", uvar.GetValue("name"));
        }
Beispiel #14
0
        public void ContainerTest2()
        {
            var uvar   = new UVars();
            var target = SobaAcs.MakeNewCoreOnly(uvar);

            Assert.Equal(string.Empty, target.Eval("#[var name = <#data>value\nli]ne</#data>]"));
            Assert.Single(uvar.Variables);
            Assert.Equal("value\nli]ne", uvar.GetValue("name"));
        }
Beispiel #15
0
        public void ContainerTest1()
        {
            var uvar   = new UVars();
            var target = SobaAcs.MakeNewCoreOnly(uvar);

            Assert.Equal("ne]", target.Eval("#[var name = value\nli]ne]"));
            Assert.Single(uvar.Variables);
            Assert.Equal("value\nli", uvar.GetValue("name"));
        }
Beispiel #16
0
        public void ParseMSBuildUnloopingTest3()
        {
            var uvar    = new UVars();
            var msbuild = new EvMSBuilder(uvar);
            var sbe     = SobaAcs.MakeNewCoreOnly(uvar);

            msbuild.Eval(sbe.Eval("#[var p2 = $$(p1)]#[var p6 = $$(p2)]#[var p7 = $$(p5)]#[var p5 = $(p6)]", true));
            // shouldn't throw LimitException, ie. no problems for stack & heap
        }
Beispiel #17
0
        public void ParseTest()
        {
            var target = SobaAcs.MakeNewCoreOnly();

            string expected = "#[( 2 > 1) { #[var name = value] } else { #[var name = value2] }]";
            string actual   = target.Eval("##[( 2 > 1) { #[var name = value] } else { #[var name = value2] }]");

            Assert.Equal(expected, actual);
        }
Beispiel #18
0
        public void StDataTest8()
        {
            var uvar   = new UVars();
            var target = SobaAcs.MakeWithBoxComponent(uvar);

            Assert.Throws <NotSupportedOperationException>(() =>
                                                           target.Eval("#[Box data.free(\"test1\"): 123]")
                                                           );
        }
Beispiel #19
0
        public void StDataTest6()
        {
            var uvar   = new UVars();
            var target = SobaAcs.MakeWithBoxComponent(uvar);

            Assert.Throws <NotFoundException>(() =>
                                              target.Eval("#[Box data.clone(\"notexists\", 4)]")
                                              );
        }
        public void CatchTest1()
        {
            var uvar   = new UVars();
            var target = SobaAcs.MakeWithTryComponent(uvar);

            target.Eval("#[try{ $(test = '123') }catch{ $(test2 = '456') }]");

            Assert.Single(uvar.Variables);
            Assert.Equal("123", uvar.GetValue("test", null));
        }
Beispiel #21
0
        public void ContainerTest9()
        {
            var uvar   = new UVars();
            var target = SobaAcs.MakeNewCoreOnly(uvar);

            Assert.Equal("test - cc", target.Eval("#[var sres = <#data>Data1\n\nEnd</#data>]test - cc#[var sres2 = <#data>Data2\n\nEnd</#data>]"));
            Assert.Equal(2, uvar.Variables.Count());
            Assert.Equal("Data1\n\nEnd", uvar.GetValue("sres"));
            Assert.Equal("Data2\n\nEnd", uvar.GetValue("sres2"));
        }
Beispiel #22
0
        public void ParseMSBuildUnloopingTest2()
        {
            var uvar    = new UVars();
            var msbuild = new EvMSBuilder(uvar);
            var sbe     = SobaAcs.MakeNewCoreOnly(uvar);

            Assert.Throws <net.r_eg.Varhead.Exceptions.LimitException>(() =>
                                                                       msbuild.Eval(sbe.Eval("#[var p1 = $$(p4)]#[var p2 = $$(p3)]#[var p3 = $$(p1)]#[var p4 = $(p2)]", true))
                                                                       );
        }
Beispiel #23
0
        public void ParseMSBuildUnloopingTest4()
        {
            var uvar    = new UVars();
            var msbuild = new EvMSBuilder(uvar);
            var sbe     = SobaAcs.MakeNewCoreOnly(uvar);

            Assert.Throws <net.r_eg.Varhead.Exceptions.LimitException>(() =>
                                                                       msbuild.Eval(sbe.Eval("#[var p2 = $$(p1) to $$(p8), and new ($$(p7.Replace('1', '2'))) s$$(p9)]#[var p6 = $$(p2)]#[var p7 = $$(p5)]#[var p5 = $(p6)]", true))
                                                                       );
        }
Beispiel #24
0
        public void ParseTest3()
        {
            var target = SobaAcs.MakeNewCoreOnly();

            Assert.Equal("[( 2 > 1) { body }]", target.Eval("[( 2 > 1) { body }]"));
            Assert.Equal("( 2 > 1) { body }", target.Eval("( 2 > 1) { body }"));
            Assert.Equal(" test ", target.Eval(" test "));
            Assert.Equal("", target.Eval(""));
            Assert.Equal(" \"test\" ", target.Eval(" \"test\" "));
        }
        public void ParseTest1()
        {
            var uvar   = new UVars();
            var target = new TryComponent(SobaAcs.MakeWithTryComponent(uvar));

            Assert.Equal(Value.Empty, target.Eval("[try{}catch{ if error }]"));
            Assert.Equal(Value.Empty, target.Eval("[try{}catch(err, msg){ if error }]"));
            Assert.Equal(Value.Empty, target.Eval("[try{}catch(){ }]"));
            Assert.Empty(uvar.Variables);
        }
Beispiel #26
0
        public void StDataTest2()
        {
            var uvar   = new UVars();
            var target = SobaAcs.MakeWithBoxComponent(uvar);

            target.Eval("#[Box data.pack(\"test1\", false): 123]");

            Assert.Throws <LimitException>(() =>
                                           target.Eval("#[Box data.pack(\"test1\", true): 123]")
                                           );
        }
Beispiel #27
0
        public void OpSleepTest2()
        {
            var target = SobaAcs.MakeWithBoxComponent();

            var start = DateTime.Now;

            target.Eval(@"#[Box operators.sleep(1000)]");
            var end = DateTime.Now;

            Assert.True((end - start).TotalMilliseconds >= 1000);
        }
Beispiel #28
0
        public void StDataTest7()
        {
            var uvar   = new UVars();
            var target = SobaAcs.MakeWithBoxComponent(uvar);

            Assert.Equal(string.Empty, target.Eval("#[Box data.pack(\"test1\", false): 123 ]"));
            Assert.Equal(string.Empty, target.Eval("#[Box data.free(\"test1\")]"));

            Assert.Throws <NotFoundException>(() =>
                                              target.Eval("#[Box data.get(\"test1\", false)]")
                                              );
        }
Beispiel #29
0
        public void OpSleepTest1()
        {
            var target = SobaAcs.MakeWithBoxComponent();

            Assert.Throws <ArgumentException>(() =>
                                              target.Eval(@"#[Box operators.sleep()]")
                                              );

            Assert.Throws <IncorrectNodeException>(() =>
                                                   target.Eval(@"#[Box operators.notrealProperty]")
                                                   );
        }
Beispiel #30
0
        public void IterateTest5()
        {
            var target = SobaAcs.MakeWithBoxComponent();

            Assert.Throws <PMArgException>(() =>
                                           target.Eval(@"#[Box iterate(i = 1; $(i) < 4; i = $([MSBuild]::Add($(i), 1)); ): ]")
                                           );

            Assert.Throws <PMArgException>(() =>
                                           target.Eval(@"#[Box iterate(; i = 1; $(i) < 4; i = $([MSBuild]::Add($(i), 1)) ): ]")
                                           );
        }