// Path: src/main/java/org/azeckoski/reflectutils/exceptions/FieldnameNotFoundException.java
// public class FieldnameNotFoundException extends RuntimeException {
// 
//    public String fieldName;
// 
//    public FieldnameNotFoundException(String fieldName) {
//       this(fieldName, null);
//    }
// 
//    public FieldnameNotFoundException(String fieldName, Throwable cause) {
//       this("Could not find fieldName ("+fieldName+") on object", fieldName, cause);
//    }
// 
//    public FieldnameNotFoundException(String message, String fieldName, Throwable cause) {
//       super(message, cause);
//       this.fieldName = fieldName;
//    }
// 
// }
// 
// Path: src/test/java/org/azeckoski/reflectutils/interfaces/TestInterfaceFour.java
// public interface TestInterfaceFour extends TestInterfaceOne, Runnable, Cloneable, Readable {
// 
// }


import junit.framework.TestCase;
import org.azeckoski.reflectutils.annotations.TestAnnote;
import org.azeckoski.reflectutils.classes.*;
import org.azeckoski.reflectutils.exceptions.FieldnameNotFoundException;
import org.azeckoski.reflectutils.interfaces.TestInterfaceFour;
import org.azeckoski.reflectutils.interfaces.TestInterfaceOne;
import java.io.Serializable;
import java.util.*;
        name = ReflectUtils.makeFieldNameFromMethod("isStuff");
        assertEquals("stuff", name);

        name = ReflectUtils.makeFieldNameFromMethod("stuff");
        assertEquals("stuff", name);
    }

    /**
     * Test method for {@link org.sakaiproject.ReflectUtils.util.reflect.ReflectUtil#getSuperclasses(java.lang.Class)}.
     */
    public void testGetSuperclasses() {
        List<Class<?>> superClasses = null;

        superClasses = ReflectUtils.getSuperclasses(TestNone.class);
        assertNotNull(superClasses);
        assertEquals(1, superClasses.size());
        assertEquals(TestNone.class, superClasses.get(0));

        superClasses = ReflectUtils.getSuperclasses(TestImplOne.class);
        assertNotNull(superClasses);
        assertEquals(3, superClasses.size());
        assertTrue( superClasses.contains(TestImplOne.class) );
        assertTrue( superClasses.contains(TestInterfaceOne.class) );
        assertTrue( superClasses.contains(Serializable.class) );

        superClasses = ReflectUtils.getSuperclasses(TestImplFour.class);
        assertNotNull(superClasses);
        assertTrue(superClasses.size() >= 7);
        assertTrue( superClasses.contains(TestImplFour.class) );
        assertTrue( superClasses.contains(TestInterfaceOne.class) );
// Path: src/main/java/org/azeckoski/reflectutils/exceptions/FieldnameNotFoundException.java
// public class FieldnameNotFoundException extends RuntimeException {
// 
//    public String fieldName;
// 
//    public FieldnameNotFoundException(String fieldName) {
//       this(fieldName, null);
//    }
// 
//    public FieldnameNotFoundException(String fieldName, Throwable cause) {
//       this("Could not find fieldName ("+fieldName+") on object", fieldName, cause);
//    }
// 
//    public FieldnameNotFoundException(String message, String fieldName, Throwable cause) {
//       super(message, cause);
//       this.fieldName = fieldName;
//    }
// 
// }
// 
// Path: src/test/java/org/azeckoski/reflectutils/interfaces/TestInterfaceFour.java
// public interface TestInterfaceFour extends TestInterfaceOne, Runnable, Cloneable, Readable {
// 
// }


// Path: src/test/java/org/azeckoski/reflectutils/ReflectUtilTest.java
import junit.framework.TestCase;
import org.azeckoski.reflectutils.annotations.TestAnnote;
import org.azeckoski.reflectutils.classes.*;
import org.azeckoski.reflectutils.exceptions.FieldnameNotFoundException;
import org.azeckoski.reflectutils.interfaces.TestInterfaceFour;
import org.azeckoski.reflectutils.interfaces.TestInterfaceOne;
import java.io.Serializable;
import java.util.*;

        name = ReflectUtils.makeFieldNameFromMethod("isStuff");
        assertEquals("stuff", name);

        name = ReflectUtils.makeFieldNameFromMethod("stuff");
        assertEquals("stuff", name);
    }

    /**
     * Test method for {@link org.sakaiproject.ReflectUtils.util.reflect.ReflectUtil#getSuperclasses(java.lang.Class)}.
     */
    public void testGetSuperclasses() {
        List<Class<?>> superClasses = null;

        superClasses = ReflectUtils.getSuperclasses(TestNone.class);
        assertNotNull(superClasses);
        assertEquals(1, superClasses.size());
        assertEquals(TestNone.class, superClasses.get(0));

        superClasses = ReflectUtils.getSuperclasses(TestImplOne.class);
        assertNotNull(superClasses);
        assertEquals(3, superClasses.size());
        assertTrue( superClasses.contains(TestImplOne.class) );
        assertTrue( superClasses.contains(TestInterfaceOne.class) );
        assertTrue( superClasses.contains(Serializable.class) );

        superClasses = ReflectUtils.getSuperclasses(TestImplFour.class);
        assertNotNull(superClasses);
        assertTrue(superClasses.size() >= 7);
        assertTrue( superClasses.contains(TestImplFour.class) );
        assertTrue( superClasses.contains(TestInterfaceOne.class) );
        assertTrue( superClasses.contains(TestInterfaceFour.class) );