Beispiel #1
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 #2
0
        public void IterateTest1()
        {
            var target = SobaAcs.MakeWithBoxComponent();

            Assert.Throws <IncorrectNodeException>(() =>
                                                   _NoSpaces(@"#[Box iterate: ]", target)
                                                   );
        }
Beispiel #3
0
        public void ParseTest1()
        {
            var target = SobaAcs.MakeWithBoxComponent();

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

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

            Assert.Throws <NotFoundException>(() =>
                                              target.Eval("#[Box data.clone(\"notexists\", 4)]")
                                              );
        }
Beispiel #6
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 #7
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 #8
0
        public void RepeatTest6()
        {
            var target = SobaAcs.MakeWithBoxComponent();

            Assert.Throws <PMArgException>(() =>
                                           _NoSpaces(@"#[Box repeat( ): ]", target)
                                           );

            Assert.Throws <IncorrectNodeException>(() =>
                                                   _NoSpaces(@"#[Box repeat: ]", target)
                                                   );
        }
Beispiel #9
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 #10
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)) ): ]")
                                           );
        }
Beispiel #11
0
        public void RepeatTest5()
        {
            var target = SobaAcs.MakeWithBoxComponent();

            Assert.Throws <PMArgException>(() =>
                                           _NoSpaces(@"#[Box repeat(false; false; true): ]", target)
                                           );

            Assert.Throws <PMArgException>(() =>
                                           _NoSpaces(@"#[Box repeat(false; 123): ]", target) // int type instead of bool
                                           );
        }
Beispiel #12
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 #13
0
        public void StDataTest3()
        {
            var uvar   = new UVars();
            var target = SobaAcs.MakeWithBoxComponent(uvar);

            Assert.Throws <NotFoundException>(() =>
                                              target.Eval("#[Box data.get(\"notexists\", false)]")
                                              );

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

            uvar.SetVariable("p1", null, "v1");
            uvar.Evaluate("p1", null, new EvaluatorBlank(), true);

            Assert.Equal(string.Empty, target.Eval("#[Box data.pack(\"test1\", false): $(p1)#[Box operators.sleep(10)] ]"));
            Assert.Equal(string.Empty, target.Eval("#[Box data.pack(\"test2\", true): $(p1) #[Box operators.sleep(10)] ]"));

            Assert.Equal("$(p1)#[Box operators.sleep(10)]", target.Eval("#[Box data.get(\"test1\", false)]").Trim());
            Assert.Equal("v1", _NoSpaces("#[Box data.get(\"test1\", true)]", target));

            Assert.Equal("v1", _NoSpaces("#[Box data.get(\"test2\", false)]", target));
            Assert.Equal("v1", _NoSpaces("#[Box data.get(\"test2\", true)]", target));
        }
Beispiel #15
0
        public void RepeatTest4()
        {
            var uvar   = new UVars();
            var target = SobaAcs.MakeWithBoxComponent(uvar);

            Assert.Equal
            (
                "ab!ab!ab!ab!",
                _NoSpaces(@"
                    #[$(i = 0)]#[Box repeat($(i) < 4; false): $(i = $([MSBuild]::Add($(i), 1)))
                        ab!
                    ]",
                          target
                          )
            );

            Assert.Single(uvar.Variables);
            Assert.Equal("4", uvar.GetValue("i", null));
        }
Beispiel #16
0
        public void RepeatTest3()
        {
            var uvar   = new UVars();
            var target = SobaAcs.MakeWithBoxComponent(uvar);

            Assert.Equal
            (
                string.Empty,
                _NoSpaces(@"
                    #[$(i = 2)]#[Box repeat($(i) < 8; true): $(i = $([MSBuild]::Add($(i), 1)))
                        ab!
                    ]",
                          target
                          )
            );

            Assert.Single(uvar.Variables);
            Assert.Equal("8", uvar.GetValue("i", null));
        }
Beispiel #17
0
        public void IterateTest4()
        {
            var uvar   = new UVars();
            var target = SobaAcs.MakeWithBoxComponent(uvar);

            Assert.Equal
            (
                "ab!ab!ab!",
                _NoSpaces(@"
                    #[Box iterate(i = 1; $(i) < 4; i = $([MSBuild]::Add($(i), 1))): 
                        ab!
                    ]",
                          target
                          )
            );

            Assert.Single(target.UVars.Variables);
            Assert.Equal("4", target.UVars.GetValue("i", null));
        }
Beispiel #18
0
        public void RepeatTest2()
        {
            var uvar   = new UVars();
            var target = SobaAcs.MakeWithBoxComponent(uvar);

            Assert.Equal
            (
                "ab!ab!ab!",
                _NoSpaces(
                    @"
                    #[$(i = 2)]#[Box repeat($(i) < 8): $(i = $([MSBuild]::Add($(i), 2)))
                        ab!
                        #[Box operators.sleep(50)]
                    ]",
                    target
                    )
            );

            Assert.Single(uvar.Variables);
            Assert.Equal("8", uvar.GetValue("i", null));
        }
Beispiel #19
0
        public void StDataTest5()
        {
            var uvar   = new UVars();
            var target = SobaAcs.MakeWithBoxComponent(uvar);

            uvar.SetVariable("p1", null, "ab!");
            uvar.Evaluate("p1", null, new EvaluatorBlank(), true);

            Assert.Equal(string.Empty, target.Eval("#[Box data.pack(\"test1\", false): $(p1) ]"));
            Assert.Equal(string.Empty, target.Eval("#[Box data.pack(\"test2\", true): $(p1) ]"));

            Assert.Equal("$(p1)$(p1)$(p1)$(p1)", _NoSpaces("#[Box data.clone(\"test1\", 4)]", target));
            Assert.Equal("$(p1)$(p1)$(p1)$(p1)", _NoSpaces("#[Box data.clone(\"test1\", 4, false)]", target));
            Assert.Equal("ab!ab!ab!ab!", _NoSpaces("#[Box data.clone(\"test1\", 4, true)]", target));

            Assert.Equal("ab!ab!", _NoSpaces("#[Box data.clone(\"test2\", 2)]", target));
            Assert.Equal("ab!ab!", _NoSpaces("#[Box data.clone(\"test2\", 2, false)]", target));
            Assert.Equal("ab!ab!", _NoSpaces("#[Box data.clone(\"test2\", 2, true)]", target));

            Assert.Equal(string.Empty, _NoSpaces("#[Box data.clone(\"test2\", 0)]", target));
        }