public void TestAddSecondaryArgument() {
MethodDeclarationNode mdn = new MethodDeclarationNode("MyMethod");
VariableDeclarationNode vdn = new VariableDeclarationNode("foo");
Assert.IsNull(mdn.SecondaryArguments);
mdn.AddSecondaryArgument(vdn, new WordNode("to", PartOfSpeechTag.Preposition));
Assert.AreEqual(1, mdn.SecondaryArguments.Count);
var sec = mdn.SecondaryArguments[0];
Assert.AreEqual(vdn, sec.Argument);
Assert.AreEqual("to", sec.Preposition.Text);
Assert.AreEqual(PartOfSpeechTag.Preposition, sec.Preposition.Tag);
VariableDeclarationNode vdn2 = new VariableDeclarationNode("myParam");
mdn.AddSecondaryArgument(vdn2, new WordNode("from", PartOfSpeechTag.Preposition));
Assert.AreEqual(2, mdn.SecondaryArguments.Count);
sec = mdn.SecondaryArguments[0];
Assert.AreEqual(vdn, sec.Argument);
Assert.AreEqual("to", sec.Preposition.Text);
Assert.AreEqual(PartOfSpeechTag.Preposition, sec.Preposition.Tag);
sec = mdn.SecondaryArguments[1];
Assert.AreEqual(vdn2, sec.Argument);
Assert.AreEqual("from", sec.Preposition.Text);
Assert.AreEqual(PartOfSpeechTag.Preposition, sec.Preposition.Tag);
}