//Check static methods and constructor public static void TestStaticConstructorsAndMethods(Assert assert) { assert.Expect(13); // TEST //Check static fields initialization assert.DeepEqual(ClassA.StatitIntNotInitialized, 0, "#74 StatitInt not initialized"); assert.DeepEqual(ClassA.StatitStringNotInitialized, null, "#74 StatitString not initialized"); assert.DeepEqual(ClassA.CONST_CHAR, 81, "#74 CONST_CHAR Q"); assert.DeepEqual(ClassA.CONST_DECIMAL, 3.123456789324324324, "#74 CONST_DECIMAL 3.123456789324324324m"); // TEST //Check static constructor assert.DeepEqual(ClassA.StaticInt, -340, "StatitInt initialized"); assert.DeepEqual(ClassA.StaticString, "Defined string", "StatitString initialized"); // TEST //Check static methods var a = ClassA.StaticMethod1(678, "ASD", double.NaN); assert.DeepEqual(ClassA.StatitIntNotInitialized, 678, "StatitIntNotInitialized 678"); assert.DeepEqual(ClassA.StatitStringNotInitialized, "ASD", "ClassA.StatitStringNotInitialized ASD"); assert.DeepEqual(a.DoubleA, double.NaN, "DoubleA double.NaN"); a = ClassA.StaticMethod2((object)678, "QWE", 234); assert.DeepEqual(ClassA.StatitIntNotInitialized, 1678, "StatitIntNotInitialized 1678"); assert.DeepEqual(ClassA.StatitStringNotInitialized, "QWE", "ClassA.StatitStringNotInitialized QWE"); assert.DeepEqual(a.DoubleA, 234, "DoubleA 234"); assert.Throws(TestSet1FailureHelper.StaticMethod2Failure, "Unable to cast type String to type Bridge.Int", "Cast exception should occur"); }
//[#89] public static ClassA StaticMethod2(params object[] p) { var i = (int)p[0] + 1000; var s = (string)p[1]; var d = (double)p[2]; return(ClassA.StaticMethod1(i, s, d)); }