public void TestCreateEquivalenceFromUnknownArguments() {
var arg1 = new VariableDeclarationNode("arg1");
var arg2 = new VariableDeclarationNode("arg2");
var arg3 = new VariableDeclarationNode("arg3");
var arg4 = new VariableDeclarationNode("arg4");
var mdn = new MethodDeclarationNode("MyMethod");
mdn.AddUnknownArguments(new VariableDeclarationNode[] { arg1, arg2, arg3, arg4 });
Assert.AreEqual(4, mdn.UnknownArguments.Count);
var themeNode = new PhraseNode(new string[] { "Relevent", "Args" });
EquivalenceNode equiv = mdn.CreateEquivalenceFromUnknownArguments(themeNode, new bool[] { true, false, true, false });
Assert.AreEqual(3, equiv.EquivalentNodes.Count);
Assert.IsTrue(equiv.EquivalentNodes.Contains(themeNode));
Assert.IsTrue(equiv.EquivalentNodes.Contains(arg1));
Assert.IsTrue(equiv.EquivalentNodes.Contains(arg3));
Assert.AreEqual(2, mdn.UnknownArguments.Count);
Assert.IsTrue(mdn.UnknownArguments.Contains(arg2));
Assert.IsTrue(mdn.UnknownArguments.Contains(arg4));
}