git-svn-id: file:///srv/devel/repo-conversion/nusu@50 d2e56fa2-650e-0410-a79f-9358c0239efd
		
			
				
	
	
		
			59 lines
		
	
	
		
			No EOL
		
	
	
		
			1.7 KiB
		
	
	
	
		
			C#
		
	
	
	
	
	
			
		
		
	
	
			59 lines
		
	
	
		
			No EOL
		
	
	
		
			1.7 KiB
		
	
	
	
		
			C#
		
	
	
	
	
	
using System;
 | 
						|
using System.Collections.Generic;
 | 
						|
using System.Text;
 | 
						|
 | 
						|
#if UNITTEST
 | 
						|
 | 
						|
using NUnit.Framework;
 | 
						|
 | 
						|
namespace Nuclex.Support.Parsing {
 | 
						|
 | 
						|
  /// <summary>Ensures that the command line parser is working properly</summary>
 | 
						|
  [TestFixture]
 | 
						|
  public class CommandLineParserTest {
 | 
						|
 | 
						|
    /// <summary>Validates that normal arguments can be parsed</summary>
 | 
						|
    [Test]
 | 
						|
    public void TestPlainArguments() {
 | 
						|
      Assert.AreEqual(
 | 
						|
        true.ToString(),
 | 
						|
        new CommandLineParser(new string[] { "-hello" })["hello"],
 | 
						|
        "Argument with minus sign is recognized"
 | 
						|
      );
 | 
						|
      Assert.AreEqual(
 | 
						|
        true.ToString(),
 | 
						|
        new CommandLineParser(new string[] { "--hello" })["hello"],
 | 
						|
        "Argument with double minus sign is recognized"
 | 
						|
      );
 | 
						|
      Assert.AreEqual(
 | 
						|
        true.ToString(),
 | 
						|
        new CommandLineParser(new string[] { "/hello" })["hello"],
 | 
						|
        "Argument with slash is recognized"
 | 
						|
      );
 | 
						|
    }
 | 
						|
 | 
						|
    /// <summary>Validates that argument assignments are working</summary>
 | 
						|
    [Test]
 | 
						|
    public void TestAssignments() {
 | 
						|
      Assert.AreEqual(
 | 
						|
        "world",
 | 
						|
        new CommandLineParser(new string[] { "-hello:world" })["hello"],
 | 
						|
        "Argument can be assigned with a double colon"
 | 
						|
      );
 | 
						|
      Assert.AreEqual(
 | 
						|
        "world",
 | 
						|
        new CommandLineParser(new string[] { "-hello=world" })["hello"],
 | 
						|
        "Argument can be assigned with a equality sign"
 | 
						|
      );
 | 
						|
      Assert.AreEqual(
 | 
						|
        "world",
 | 
						|
        new CommandLineParser(new string[] { "-hello", "world" })["hello"],
 | 
						|
        "Argument can be assigned with a space"
 | 
						|
      );
 | 
						|
    }
 | 
						|
 | 
						|
  }
 | 
						|
 | 
						|
} // namespace Nuclex.Support.Parsing
 | 
						|
 | 
						|
#endif // UNITTEST |