public void ArgumentParseTest() { var env = new ConsoleEnvironment(seed: 42); var innerArg1 = new SimpleArg() { required = -2, text1 = "}", text2 = "{", text3 = " ", text4 = "\n", }; var innerArg2 = new SimpleArg() { required = -2, text1 = "{!@# $%^}&*{()}", text2 = "=", text3 = "\t", text4 = @"\\", }; var innerArg3 = new SimpleArg() { required = -2, text1 = "\r\n", text2 = "\"", text3 = "\" \" ", text4 = "{/a=2 /b=3 /c=4}", sub1 = CreateComponentFactory("S1", innerArg1.ToString(env)), sub2 = CreateComponentFactory("S2", innerArg2.ToString(env)), }; var outerArg1 = new SimpleArg() { required = -2, once = 2, text2 = "Testing", text3 = "a=7", sub1 = CreateComponentFactory("S1", innerArg1.ToString(env)), sub2 = CreateComponentFactory("S2", innerArg2.ToString(env)), sub3 = CreateComponentFactory("S3", innerArg3.ToString(env)), }; var testArg = new SimpleArg(); CmdParser.ParseArguments(env, outerArg1.ToString(env), testArg); Assert.Equal(outerArg1, testArg); CmdParser.ParseArguments(env, ((ICommandLineComponentFactory)outerArg1.sub1).GetSettingsString(), testArg = new SimpleArg()); Assert.Equal(innerArg1, testArg); CmdParser.ParseArguments(env, ((ICommandLineComponentFactory)outerArg1.sub2).GetSettingsString(), testArg = new SimpleArg()); Assert.Equal(innerArg2, testArg); CmdParser.ParseArguments(env, ((ICommandLineComponentFactory)outerArg1.sub3).GetSettingsString(), testArg = new SimpleArg()); Assert.Equal(innerArg3, testArg); }
public void ArgumentParseTest() { var env = new TlcEnvironment(seed: 42); var innerArg1 = new SimpleArg() { required = -2, text1 = "}", text2 = "{", text3 = " ", text4 = "\n", }; var innerArg2 = new SimpleArg() { required = -2, text1 = "{!@# $%^}&*{()}", text2 = "=", text3 = "\t", text4 = @"\\", }; var innerArg3 = new SimpleArg() { required = -2, text1 = "\r\n", text2 = "\"", text3 = "\" \" ", text4 = "{/a=2 /b=3 /c=4}", sub1 = new SubComponent("S1", innerArg1.ToString(env)), sub2 = new SubComponent("S2", innerArg2.ToString(env)), }; var outerArg1 = new SimpleArg() { required = -2, once = 2, text2 = "Testing", text3 = "a=7", sub1 = new SubComponent("S1", innerArg1.ToString(env)), sub2 = new SubComponent("S2", innerArg2.ToString(env)), sub3 = new SubComponent("S3", innerArg3.ToString(env)), }; var testArg = new SimpleArg(); CmdParser.ParseArguments(env, outerArg1.ToString(env), testArg); Assert.Equal(innerArg1, testArg); CmdParser.ParseArguments(env, outerArg1.sub1.SubComponentSettings, testArg = new SimpleArg()); Assert.Equal(innerArg1, testArg); CmdParser.ParseArguments(env, outerArg1.sub1.Settings[0], testArg = new SimpleArg()); Assert.Equal(innerArg1, testArg); CmdParser.ParseArguments(env, CmdParser.CombineSettings(outerArg1.sub1.Settings), testArg = new SimpleArg()); Assert.Equal(innerArg1, testArg); CmdParser.ParseArguments(env, outerArg1.sub2.SubComponentSettings, testArg = new SimpleArg()); Assert.Equal(innerArg2, testArg); CmdParser.ParseArguments(env, outerArg1.sub3.SubComponentSettings, testArg = new SimpleArg()); Assert.Equal(innerArg3, testArg); }