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

import java.util.ArrayList;
import java.util.List;

/**
 *
 * @author Ranides Atterwim <ranides@gmail.com>
 */
@SuppressWarnings("PMD")
public class TesterObjects {
    
    public static final List<String> OUT = new ArrayList<>();
    
    public static class ObjectA implements TesterInterfaces.IntA {

        @Override
        public void findFirst() {
            OUT.add("A.findFirst");
        }

        @Override
        public void findAll() {
            OUT.add("A.findAll");
        }
    
    }
    
    public static abstract class AbstractAB extends ObjectA implements TesterInterfaces.IntB {
        
        @Override
        public void open() {
            OUT.add("Abstract.open");
        }

        @Override
        public void close() {
            OUT.add("Abstract.close");
        }

    }
    
    public static class ObjectABC implements TesterInterfaces.IntA, TesterInterfaces.IntB, TesterInterfaces.IntC {

        @Override
        public void findFirst() {
            OUT.add("ABC.findFirst");
        }

        @Override
        public void findAll() {
            OUT.add("ABC.findAll");
        }

        @Override
        public void open() {
            OUT.add("ABC.open");
        }

        @Override
        public void close() {
            OUT.add("ABC.close");
        }

        @Override
        public void read() {
            OUT.add("ABC.read");
        }

        @Override
        public void write() {
            OUT.add("ABC.write");
        }

        @Override
        public void next() {
            OUT.add("ABC.next");
        }
        
        
    
    }
}
