public void AddAll(UnityTestCase test)
{
// If test invalid
if (null == test)
{
// Error
throw new Exception("Invalid test case encountered.");
}
// For each method in the test case
Type type = test.GetType();
foreach (MethodInfo method in type.GetMethods())
{
// For each unit test attribute
foreach (object obj in method.GetCustomAttributes(typeof(UnitTest), false))
{
// If attribute is valid
Attribute testAtt = obj as Attribute;
if (null != testAtt)
{
// create GameObject and attach
GameObject gameobj = new GameObject("Test" + type.Name + "_" + method.Name);
UnityTestCase tmp = gameobj.AddComponent(type.Name) as UnityTestCase;
tmp.SetTestMethod(method.Name);
m_tests.Add(tmp);
}
}
}
}