public void TestValueExtractionFromSubstring() {
        CommandLine.Argument argument = new CommandLine.Argument(
          new StringSegment("||--test=123||", 2, 10), 4, 4, 9, 3
        );

        Assert.AreEqual("--test=123", argument.Raw);
        Assert.AreEqual("--", argument.Initiator);
        Assert.AreEqual("test", argument.Name);
        Assert.AreEqual("=", argument.Associator);
        Assert.AreEqual("123", argument.Value);
      }
      public void TestValueExtraction() {
        CommandLine.Argument argument = new CommandLine.Argument(
          new StringSegment("--test=123"), 2, 4, 7, 3
        );

        Assert.AreEqual("--test=123", argument.Raw);
        Assert.AreEqual("--", argument.Initiator);
        Assert.AreEqual("test", argument.Name);
        Assert.AreEqual("=", argument.Associator);
        Assert.AreEqual("123", argument.Value);
      }
      public void TestNameExtractionFromSubstring() {
        CommandLine.Argument argument = CommandLine.Argument.OptionOnly(
          new StringSegment("||--test||", 2, 6), 4, 4
        );

        Assert.AreEqual("--test", argument.Raw);
        Assert.AreEqual("--", argument.Initiator);
        Assert.AreEqual("test", argument.Name);
        Assert.IsNull(argument.Associator);
        Assert.IsNull(argument.Value);
      }
      public void TestNamelessValueRetrievalFromSubstring() {
        CommandLine.Argument argument = CommandLine.Argument.ValueOnly(
          new StringSegment("||\"hello world\"||", 2, 13), 3, 11
        );

        Assert.AreEqual("\"hello world\"", argument.Raw);
        Assert.IsNull(argument.Initiator);
        Assert.IsNull(argument.Name);
        Assert.IsNull(argument.Associator);
        Assert.AreEqual("hello world", argument.Value);
      }
      public void TestValuelessAssociatorRetrievalFromSubstring() {
        CommandLine.Argument option = CommandLine.Argument.OptionOnly(
          new StringSegment("||--test=||", 2, 7), 4, 4
        );

        Assert.AreEqual("--test=", option.Raw);
        Assert.AreEqual("--", option.Initiator);
        Assert.AreEqual("test", option.Name);
        Assert.AreEqual("=", option.Associator);
        Assert.IsNull(option.Value);
      }
      public void TestValuelessAssociatorRetrieval() {
        CommandLine.Argument argument = CommandLine.Argument.OptionOnly(
          new StringSegment("--test="), 2, 4
        );

        Assert.AreEqual("--test=", argument.Raw);
        Assert.AreEqual("--", argument.Initiator);
        Assert.AreEqual("test", argument.Name);
        Assert.AreEqual("=", argument.Associator);
        Assert.IsNull(argument.Value);
      }