public void TestBuildMethodContext_StaticFunctionWithClassAndParams() {
string testSrcML = "<function><type><name>static</name> <name>char</name></type> <name><name>CBidMarkup</name><op:operator>::</op:operator><name>run</name></name><parameter_list>(<param><decl><type><name>CGVDate</name> <type:modifier>&</type:modifier></type> <name>CurrDate</name></decl></param>)</parameter_list> <block>{ <return>return <expr><lit:literal type=\"char\">'a'</lit:literal></expr>;</return> }</block></function>";
XElement xml = XElement.Parse(string.Format(srcMLFormat, testSrcML), LoadOptions.PreserveWhitespace);
var formals = new FormalParameterRecord[] {new FormalParameterRecord("CGVDate&", false, "CurrDate")};
MethodContext mc1 = new MethodContext("char", true, "CBidMarkup", formals, true, false, false);
MethodContext mc2 = ContextBuilder.BuildMethodContext(xml.Element(SRC.Function));
Assert.IsTrue(MethodContextsAreEqual(mc1, mc2));
}