import java.lang.reflect.Field;

public class TestCases5 {

    public boolean test1() throws Throwable {
        GrupoFiguras g = new GrupoFiguras();
        
        Circulo cir1 = new Circulo(10, 5, 3.5);
        
        g.anyadeFigura(cir1);
        
        int numTexturas = g.numTexturas();
        
        return numTexturas == 0;
    }
    public boolean test2() throws Throwable {
        GrupoFiguras g = new GrupoFiguras();
        
        Circulo cir1 = new Circulo(10, 5, 3.5);
        Rectangulo rec1 = new Rectangulo(10, 5, 3.5, 3, 0);
        
        g.anyadeFigura(cir1);
        g.anyadeFigura(rec1);
        
        int numTexturas = g.numTexturas();
        
        return numTexturas == 0;
    }
    public boolean test3() throws Throwable {
        GrupoFiguras g = new GrupoFiguras();
        
        Circulo cir1 = new Circulo(10, 5, 3.5, 0);
        Circulo cir2 = new Circulo(10, 5, 3.5, 1);
        Rectangulo rec1 = new Rectangulo(10, 5, 3.5, 3);
        Rectangulo rec2 = new Rectangulo(10, 5, 3.5, 3, 0);
        Rectangulo rec3 = new Rectangulo(10, 5, 3.5, 3, 3);
        
        g.anyadeFigura(cir1);
        g.anyadeFigura(cir2);
        g.anyadeFigura(rec1);
        g.anyadeFigura(rec2);
        g.anyadeFigura(rec3);
        
        int numTexturas = g.numTexturas();
        
        return numTexturas == 2;
    }
    private Field getDeclaredField(Class<?> clazz, String fieldName) throws SecurityException {
    	try {
    		return clazz.getDeclaredField(fieldName);
    	}
    	catch (NoSuchFieldException e) {
    		return null;
    	}
    }
    private Object getDeclaredFieldValue(Class<?> clazz, Object obj, String fieldName) throws NoSuchFieldException, SecurityException, IllegalArgumentException, IllegalAccessException {
    	Field field = this.getDeclaredField(clazz, fieldName);

    	field.setAccessible(true);

    	return field.get(obj);
    }
}