public void TestTokenize() { // Arrange CommandEnvironment ci = new CommandEnvironment(); string s1 = "command"; string s2 = "command arg1"; string s3 = "command \"arg 1\" \"arg 2\""; // Act List <string> r1 = ci.tokenize(s1); List <string> r2 = ci.tokenize(s2); List <string> r3 = ci.tokenize(s3); // Assert Assert.AreEqual(1, r1.Count, "Single token - token count"); Assert.AreEqual(2, r2.Count, "Two tokens - token count"); Assert.AreEqual(3, r3.Count, "Three tokens with quotes - token count"); Assert.AreEqual("command", r1[0], "Single token - value"); Assert.AreEqual("command", r2[0], "Two tokens - value 1"); Assert.AreEqual("arg1", r2[1], "Two tokens - value 1"); Assert.AreEqual("command", r3[0], "Three tokens with quotes - value 1"); Assert.AreEqual("arg 1", r3[1], "Three tokens with quotes - value 2"); Assert.AreEqual("arg 2", r3[2], "Three tokens with quotes - value 3"); }