示例#1
0
文件: UnitTest.cs 项目: lvarvel/aura
 internal UnitTestException(string message, TestResults results, Exception innerException)
     : base(message, innerException)
 {
     testResults = results;
 }
示例#2
0
文件: UnitTest.cs 项目: lvarvel/aura
        public static TestResults doUnitTest(String path)
        {
            Assembly a = Assembly.GetCallingAssembly();
            Type[] types = a.GetTypes();
            SortedList<int, Type> unitTestTypes = new SortedList<int, Type>();
            TestResults results;
            if (current != null && last_string == path)
            {
                results = current;
            }
            else
                results = new TestResults(path);

            foreach (Type t in types)
            {
                object[] atrs = t.GetCustomAttributes(typeof(UnitTest), false);
                foreach (UnitTest atr in atrs)
                {
                    unitTestTypes.Add(atr.TestOrder, t);
                }
            }
            foreach (Type t in unitTestTypes.Values)
            {
                results.ReportMessage("");
                testClass(t, results);
            }

            /*
            if (!results.success)
            {
                results.WriteToFile();
                throw new UnitTestException("Tests failed!", results, null);
            }
            */

            current = results;
            last_string = path;

            return results;
        }
示例#3
0
文件: UnitTest.cs 项目: lvarvel/aura
        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);
            }
        }
示例#4
0
文件: Ranges.cs 项目: lvarvel/aura
        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");
        }