public void TestAddUnknownArguments() {
MethodDeclarationNode mdn = new MethodDeclarationNode("MyMethod");
Node[] args = new Node[] { new TypeNode("int", true), new VariableDeclarationNode("bar") };
mdn.AddUnknownArguments(args);
Assert.IsNotNull(mdn.UnknownArguments);
Assert.AreEqual(args.Length, mdn.UnknownArguments.Count);
for(int i = 0; i < args.Length; i++) {
Assert.AreEqual(args[i], mdn.UnknownArguments[i]);
}
List<Node> args2 = new List<Node>() { new VariableDeclarationNode("xyzzy"), new VariableDeclarationNode("myParam") };
mdn.AddUnknownArguments(args2);
Assert.AreEqual(args.Length + args2.Count, mdn.UnknownArguments.Count);
for(int i = 0; i < mdn.UnknownArguments.Count; i++) {
if(i < args.Length) {
Assert.AreEqual(args[i], mdn.UnknownArguments[i]);
} else {
Assert.AreEqual(args2[i - args.Length], mdn.UnknownArguments[i]);
}
}
}