string[] args = "app -a value1 value2 -b parameter --nothing".split; assert("parameter" == args.getOptionValue("-b")); assert("value1" == args.getOptionValue("-a")); assert("" == args.getOptionValue("--nothing")); assert(args == "app -a value1 value2 -b parameter --nothing".split); assert("parameter" == args.extractValueForFlag("-b")); assert("app -a value1 value2 --nothing".split == args); assert("value1" == args.extractValueForFlag("-a")); assert("app value2 --nothing".split == args); args = "-a value1 value2 -b parameter --nothing".split; assert("parameter" == args.getOptionValue("-b")); assert("value1" == args.getOptionValue("-a")); assert("" == args.getOptionValue("--nothing")); assert("parameter" == args.extractValueForFlag("-b")); assert("-a value1 value2 --nothing".split == args); assert("value1" == args.extractValueForFlag("-a")); assert("value2 --nothing".split == args); args = `build --file=/home/user/Project_1/Makefile`.split; assert("/home/user/Project_1/Makefile" == args.getOptionValue("--file"));