Пример #1
0
        static void Main(string[] aArgs)
        {
            Helper       helper    = new Helper(aArgs);
            OptionParser optParser = helper.OptionParser;

            OptionParser.OptionString option1 = new OptionParser.OptionString("-1", "--protocol", "UDP", "Protocol (UDP or TCP)", "PROTOCOL");
            OptionParser.OptionString option2 = new OptionParser.OptionString("-2", "--clientaddr", "127.0.0.1", "Client IP address", "CLIENTADDRESS");
            OptionParser.OptionInt    option3 = new OptionParser.OptionInt("-3", "--clientport", 51936, "Client port", "CLIENTPORT");
            OptionParser.OptionString option4 = new OptionParser.OptionString("-4", "--serveraddr", "127.0.0.1", "Server IP address", "SERVERADDRESS");
            OptionParser.OptionInt    option5 = new OptionParser.OptionInt("-5", "--serverport", 51936, "Server port", "SERVERPORT");
            OptionParser.OptionInt    option6 = new OptionParser.OptionInt("-6", "--size", 4, "Size of each packet (bytes)", "PACKETSIZE");
            OptionParser.OptionInt    option7 = new OptionParser.OptionInt("-7", "--total", 20, "Total number of packets to send", "PACKETTOTAL");
            OptionParser.OptionInt    option8 = new OptionParser.OptionInt("-8", "--delay", 0, "Delay between packets (0.1ms steps)", "PACKETDELAY");
            optParser.AddOption(option1);
            optParser.AddOption(option2);
            optParser.AddOption(option3);
            optParser.AddOption(option4);
            optParser.AddOption(option5);
            optParser.AddOption(option6);
            optParser.AddOption(option7);
            helper.ProcessCommandLine();

            Client test = new Client(option1.Value, option2.Value, option3.Value, option4.Value, option5.Value, option6.Value, option7.Value, option8.Value);

            // run the test ...
            test.ClientServerTest();
            helper.Dispose();
        }
Пример #2
0
    static void Main(string[] aArgs)
    {
        Helper helper = new Helper(aArgs);

        OptionParser optParser = helper.OptionParser;

        optParser.Usage = "usage: FindDevice [options] [device name]";
        OptionParser.OptionInt optTimeout = new OptionParser.OptionInt("-w", "--wait", 5, "Time to wait for finding the device (s)", "TIMEOUT");
        optParser.AddOption(optTimeout);

        helper.ProcessCommandLine();

        if (optParser.PosArgs.Count != 1)
        {
            Console.WriteLine(optParser.Help());
            return;
        }

        string uglyname = optParser.PosArgs[0];
        int    timeout  = optTimeout.Value;

        DeviceFinder finder = new DeviceFinder(uglyname);

        Device device;

        try
        {
            device = finder.Find(helper.Interface.Interface.Info.IPAddress, timeout * 1000);
        }
        catch (DeviceFinderException)
        {
            Console.WriteLine("Device not found");
            return;
        }

        helper.Dispose();

        Console.WriteLine("Udn: " + device.Udn);

        System.Environment.Exit(0);
    }
Пример #3
0
    private void OptionIntTests()
    {
        // int option tests
        OptionParser optParser;

        OptionParser.OptionInt optInt1 = new OptionParser.OptionInt("-a", "--inta", 123, "int help", "INT");
        OptionParser.OptionInt optInt2 = new OptionParser.OptionInt("-b", "--intb", 456, "int help", "INT");
        TEST(optInt1.ShortName == "-a");
        TEST(optInt1.LongName == "--inta");
        TEST(optInt1.Value == 123);
        TEST(optInt2.ShortName == "-b");
        TEST(optInt2.LongName == "--intb");
        TEST(optInt2.Value == 456);

        // no args
        optParser = new OptionParser(new string[] {});
        optParser.AddOption(optInt1);
        optParser.AddOption(optInt2);
        optParser.Parse();
        TEST(optParser.PosArgs.Count == 0);
        TEST(optInt1.Value == 123);
        TEST(optInt2.Value == 456);

        // positional args only
        optParser = new OptionParser(new string[] { "arg1", "arg2" });
        optParser.AddOption(optInt1);
        optParser.AddOption(optInt2);
        optParser.Parse();
        TEST(optParser.PosArgs.Count == 2);
        TEST(optParser.PosArgs[0] == "arg1");
        TEST(optParser.PosArgs[1] == "arg2");
        TEST(optInt1.Value == 123);
        TEST(optInt2.Value == 456);

        // 1 good arg
        optParser = new OptionParser(new string[] { "-a", "789", "arg1", "arg2" });
        optParser.AddOption(optInt1);
        optParser.AddOption(optInt2);
        optParser.Parse();
        TEST(optParser.PosArgs.Count == 2);
        TEST(optParser.PosArgs[0] == "arg1");
        TEST(optParser.PosArgs[1] == "arg2");
        TEST(optInt1.Value == 789);
        TEST(optInt2.Value == 456);

        optParser = new OptionParser(new string[] { "--inta", "789", "arg1", "arg2" });
        optParser.AddOption(optInt1);
        optParser.AddOption(optInt2);
        optParser.Parse();
        TEST(optParser.PosArgs.Count == 2);
        TEST(optParser.PosArgs[0] == "arg1");
        TEST(optParser.PosArgs[1] == "arg2");
        TEST(optInt1.Value == 789);
        TEST(optInt2.Value == 456);

        optParser = new OptionParser(new string[] { "arg1", "-a", "789", "arg2" });
        optParser.AddOption(optInt1);
        optParser.AddOption(optInt2);
        optParser.Parse();
        TEST(optParser.PosArgs.Count == 2);
        TEST(optParser.PosArgs[0] == "arg1");
        TEST(optParser.PosArgs[1] == "arg2");
        TEST(optInt1.Value == 789);
        TEST(optInt2.Value == 456);

        optParser = new OptionParser(new string[] { "arg1", "arg2", "-a", "789" });
        optParser.AddOption(optInt1);
        optParser.AddOption(optInt2);
        optParser.Parse();
        TEST(optParser.PosArgs.Count == 2);
        TEST(optParser.PosArgs[0] == "arg1");
        TEST(optParser.PosArgs[1] == "arg2");
        TEST(optInt1.Value == 789);
        TEST(optInt2.Value == 456);

        // 2 good args
        optParser = new OptionParser(new string[] { "-b", "987", "-a", "789", "arg1", "arg2" });
        optParser.AddOption(optInt1);
        optParser.AddOption(optInt2);
        optParser.Parse();
        TEST(optParser.PosArgs.Count == 2);
        TEST(optParser.PosArgs[0] == "arg1");
        TEST(optParser.PosArgs[1] == "arg2");
        TEST(optInt1.Value == 789);
        TEST(optInt2.Value == 987);

        optParser = new OptionParser(new string[] { "-b", "987", "arg1", "arg2", "-a", "789" });
        optParser.AddOption(optInt1);
        optParser.AddOption(optInt2);
        optParser.Parse();
        TEST(optParser.PosArgs.Count == 2);
        TEST(optParser.PosArgs[0] == "arg1");
        TEST(optParser.PosArgs[1] == "arg2");
        TEST(optInt1.Value == 789);
        TEST(optInt2.Value == 987);

        // missing option value
        optParser = new OptionParser(new string[] { "-b", "-a", "789", "arg1", "arg2" });
        optParser.AddOption(optInt1);
        optParser.AddOption(optInt2);
        TEST_THROWS(typeof(OptionParser.OptionParserError), optParser, "Parse");
        TEST(optParser.PosArgs.Count == 0);
        TEST(optInt1.Value == 123);
        TEST(optInt2.Value == 456);

        optParser = new OptionParser(new string[] { "-b", "987", "arg1", "arg2", "-a" });
        optParser.AddOption(optInt1);
        optParser.AddOption(optInt2);
        TEST_THROWS(typeof(OptionParser.OptionParserError), optParser, "Parse");
        TEST(optParser.PosArgs.Count == 0);
        TEST(optInt1.Value == 123);
        TEST(optInt2.Value == 456);

        // bad option value
        optParser = new OptionParser(new string[] { "-b", "98w7", "-a", "789", "arg1", "arg2" });
        optParser.AddOption(optInt1);
        optParser.AddOption(optInt2);
        TEST_THROWS(typeof(OptionParser.OptionParserError), optParser, "Parse");
        TEST(optParser.PosArgs.Count == 0);
        TEST(optInt1.Value == 123);
        TEST(optInt2.Value == 456);

        // help tests
        OptionParser.OptionHelp help;
        help    = new OptionParser.OptionHelp();
        optInt1 = new OptionParser.OptionInt("-a", null, 123, "int help", "INT");
        optInt1.AppendHelp(help);
        TEST(help.ToString() == "options:\n  -a INT                int help\n");

        help    = new OptionParser.OptionHelp();
        optInt1 = new OptionParser.OptionInt(null, "--inta", 123, "int help", "INT");
        optInt1.AppendHelp(help);
        TEST(help.ToString() == "options:\n  --inta=INT            int help\n");

        help    = new OptionParser.OptionHelp();
        optInt1 = new OptionParser.OptionInt("-a", "--inta", 123, "int help", "INT");
        optInt1.AppendHelp(help);
        TEST(help.ToString() == "options:\n  -a INT, --inta=INT    int help\n");

        help    = new OptionParser.OptionHelp();
        optInt1 = new OptionParser.OptionInt("-a", "--inta", 123, "int help", "INTEGER");
        optInt1.AppendHelp(help);
        TEST(help.ToString() == "options:\n  -a INTEGER, --inta=INTEGER\n                        int help\n");
    }
Пример #4
0
    public override void Test()
    {
        // Option creation tests

        // no option names
        TEST_THROWS_NEW(typeof(AssertionError), typeof(OptionParser.OptionString),
                        null, null, "defaultstring", "test string help", "STRING");

        // bad short option names
        TEST_THROWS_NEW(typeof(AssertionError), typeof(OptionParser.OptionString),
                        "", null, "defaultstring", "test string help", "STRING");
        TEST_THROWS_NEW(typeof(AssertionError), typeof(OptionParser.OptionString),
                        "s", null, "defaultstring", "test string help", "STRING");
        TEST_THROWS_NEW(typeof(AssertionError), typeof(OptionParser.OptionString),
                        "-", null, "defaultstring", "test string help", "STRING");
        TEST_THROWS_NEW(typeof(AssertionError), typeof(OptionParser.OptionString),
                        "--", null, "defaultstring", "test string help", "STRING");
        TEST_THROWS_NEW(typeof(AssertionError), typeof(OptionParser.OptionString),
                        "-sd", null, "defaultstring", "test string help", "STRING");
        TEST_THROWS_NEW(typeof(AssertionError), typeof(OptionParser.OptionString),
                        "--sd", null, "defaultstring", "test string help", "STRING");

        // bad long option names
        TEST_THROWS_NEW(typeof(AssertionError), typeof(OptionParser.OptionString),
                        null, "", "defaultstring", "test string help", "STRING");
        TEST_THROWS_NEW(typeof(AssertionError), typeof(OptionParser.OptionString),
                        null, "s", "defaultstring", "test string help", "STRING");
        TEST_THROWS_NEW(typeof(AssertionError), typeof(OptionParser.OptionString),
                        null, "-", "defaultstring", "test string help", "STRING");
        TEST_THROWS_NEW(typeof(AssertionError), typeof(OptionParser.OptionString),
                        null, "-s", "defaultstring", "test string help", "STRING");
        TEST_THROWS_NEW(typeof(AssertionError), typeof(OptionParser.OptionString),
                        null, "--", "defaultstring", "test string help", "STRING");
        TEST_THROWS_NEW(typeof(AssertionError), typeof(OptionParser.OptionString),
                        null, "-sd", "defaultstring", "test string help", "STRING");

        // Some tests for different option types
        OptionStringTests();
        OptionIntTests();
        OptionBoolTests();

        // Parsing tests
        OptionParser optParser = new OptionParser(new string[] { "-a", "aval", "--bc", "bcval" });

        OptionParser.OptionString optString1 = new OptionParser.OptionString("-a", null, "defaultstring", "string help", "STRING");
        OptionParser.OptionString optString2 = new OptionParser.OptionString(null, "--bc", "defaultstring", "string help", "STRING");
        OptionParser.OptionString optString3 = new OptionParser.OptionString("-a", "--bc", "defaultstring", "string help", "STRING");
        OptionParser.OptionInt    optInt4    = new OptionParser.OptionInt("-a", null, 123, "int help", "INT");
        OptionParser.OptionBool   optBool5   = new OptionParser.OptionBool(null, "--bc", "bool help");

        // test adding already existing options
        optParser.AddOption(optString1);
        optParser.AddOption(optString2);
        TEST_THROWS(typeof(AssertionError), optParser, "AddOption", optString1);
        TEST_THROWS(typeof(AssertionError), optParser, "AddOption", optString2);
        TEST_THROWS(typeof(AssertionError), optParser, "AddOption", optString3);
        TEST_THROWS(typeof(AssertionError), optParser, "AddOption", optInt4);
        TEST_THROWS(typeof(AssertionError), optParser, "AddOption", optBool5);

        optParser.Parse();
        TEST(optParser.PosArgs.Count == 0);
        TEST(optString1.Value == "aval");
        TEST(optString2.Value == "bcval");
        TEST(optString3.Value == "defaultstring");
        TEST(optInt4.Value == 123);
        TEST(optBool5.Value == false);

        // test undefined options
        optParser = new OptionParser(new string[] { "-d" });
        TEST_THROWS(typeof(OptionParser.OptionParserError), optParser, "Parse");
        TEST(optParser.PosArgs.Count == 0);

        optParser = new OptionParser(new string[] { "--de" });
        TEST_THROWS(typeof(OptionParser.OptionParserError), optParser, "Parse");
        TEST(optParser.PosArgs.Count == 0);
    }