private static void testClass(Type t, TestResults results) { MethodInfo info = null; try { foreach (MethodInfo method in t.GetMethods()) { info = method; object[] check = method.GetCustomAttributes(typeof(UnitTestMethod), false); if (check.Length > 0) { UnitTestHandler test = Delegate.CreateDelegate(typeof(UnitTestHandler), method) as UnitTestHandler; test(results); } } } catch (Exception e) { results.ReportError("Exception occured in method " + info.Name + ", in class " + t.Name + "." + "\n" + e.Message); } }
public static void TestClamp(TestResults results) { DirectionalClamp d = new DirectionalClamp(); results.ReportMessage("Begining test of Directional Clamp bitmask."); if (d.ClampedX || d.ClampedY || d.ClampedZ) { results.ReportError("Empty bitmask is not zero"); } else results.ReportMessage("Empty bitmask is zero"); results.ReportMessage("Starting test 1"); d.ClampedPositiveX = true; if (d.ClampedPositiveX) results.ReportMessage("Test 1 success. Clamp is reflexive."); else results.ReportError("Test 1 failure. Clamp is not reflexive."); d.NoClamp = true; if (d.ClampedX || d.ClampedY || d.ClampedZ) { results.ReportError("Empty bitmask is not zero"); } results.ReportMessage("Starting test 2"); d.ClampedZ = true; if (d.ClampedNegativeZ && d.ClampedPositiveZ) results.ReportMessage("Test 2 success. Dimentional/Polar\n options interoperate correctly."); else results.ReportError("Test 2 failure. Dimentional/Polar options do not interoperate"); }