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} ]")); }
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\"]")); }
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{ }]") ); }
public void IterateTest1() { var target = SobaAcs.MakeWithBoxComponent(); Assert.Throws <IncorrectNodeException>(() => _NoSpaces(@"#[Box iterate: ]", target) ); }
public void ParseTest6() { uvars.UnsetAll(); var target = SobaAcs.MakeNewCoreOnly(uvars); Assert.Equal(string.Empty, target.Eval("#[\" #[var name = value] \"]")); Assert.Empty(uvars.Variables); }
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\")]")); }
public void ActivatorTest2() { Assert.Throws <MismatchException>(() => { var target = SobaAcs.MakeNewCoreOnly(); target.Eval("#[NotRealComponent prop.Test]"); }); }
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]")); }
public void ParseTest1() { var target = SobaAcs.MakeWithBoxComponent(); Assert.Throws <SubtypeNotFoundException>(() => target.Eval(@"#[Box notrealnode]") ); }
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")); }
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")); }
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")); }
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 }
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); }
public void StDataTest8() { var uvar = new UVars(); var target = SobaAcs.MakeWithBoxComponent(uvar); Assert.Throws <NotSupportedOperationException>(() => target.Eval("#[Box data.free(\"test1\"): 123]") ); }
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)); }
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")); }
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)) ); }
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)) ); }
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); }
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]") ); }
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); }
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)]") ); }
public void OpSleepTest1() { var target = SobaAcs.MakeWithBoxComponent(); Assert.Throws <ArgumentException>(() => target.Eval(@"#[Box operators.sleep()]") ); Assert.Throws <IncorrectNodeException>(() => target.Eval(@"#[Box operators.notrealProperty]") ); }
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)) ): ]") ); }