/*
 * @author Ranides Atterwim <ranides@gmail.com>
 * @copyright Ranides Atterwim
 * @license WTFPL
 * @url http://ranides.net/projects/assira
 */
package net.ranides.assira.reflection.impl;

import net.ranides.assira.reflection.IAttribute;
import net.ranides.assira.reflection.IClass;
import org.junit.Test;
import static org.junit.Assert.*;

/**
 *
 * @author Ranides Atterwim <ranides@gmail.com>
 */
public class AClassTest {
    
    public AClassTest() {
    }

    @Test
    public void testConstruct() {
        IClass.typeinfo(A.class)
            .constructors()
            .require(IAttribute.DECLARED)
            .accepts()
            .stream().each(c -> System.out.printf("A = %s%n",c));
        
        IClass.typeinfo(B.class)
            .constructors()
            .require(IAttribute.DECLARED)
            .stream().each(c -> System.out.printf("B = %s%n",c));

    }
    
    private static class A { }
    
    private static class B { 
        public B(int x) { }
        protected B(int x, int y) { }
        private B() { }
    }
    
}
