/*
 * @author Ranides Atterwim {@literal <ranides@gmail.com>}
 * @copyright Ranides Atterwim
 * @license WTFPL
 * @url http://ranides.net/projects/assira
 */

package net.ranides.test;

import lombok.experimental.UtilityClass;

import net.ranides.assira.system.RuntimeUtils;

import java.io.File;

/**
 *
 * @author Ranides Atterwim {@literal <ranides@gmail.com>}
 */
@UtilityClass
public final class TestFiles {

    public static final File JAR_TEST = new File("src/test/resources/jars/assira.test.jar");
    
    public static final File JAR_RULES = new File("src/test/resources/jars/assira.rules.jar");

    public static final File XML_INPUT = new File("src/test/resources/xml/input.xml");
    
    public static final File XML_1 = new File("src/test/resources/xml/writer1.xml");
    
    public static final File XML_2 = new File("src/test/resources/xml/writer2.xml");
    
    public static final File XML_3 = new File("src/test/resources/xml/writer3.xml");
    
    public static final File XML_4 = new File("src/test/resources/xml/writer4.xml");
    
    public static final File XML_5 = new File("src/test/resources/xml/writer5.xml");
    
    public static final File XML_ELEMENTS = new File("src/test/resources/xml/elements.xml");
    
    public static final File XML_CONTENT = new File("src/test/resources/xml/content.xml");
    
    public static final File XSL_USERS = new File("src/test/resources/xml/users.xslt");
    
    public static final File XML_USERS = new File("src/test/resources/xml/users.xml");
    
    public static final File XML_DOC_JDK8 = new File("src/test/resources/xml/doc-jdk8.xml");

    public static final File XML_DOC_JDK11 = new File("src/test/resources/xml/doc-jdk11.xml");

    public static final File XML_ATTR = new File("src/test/resources/xml/attr.xml");

    public static final File METHODS_DIR =
            RuntimeUtils.getJavaVersion() < 11 ?
            new File("src/test/resources/reflective/methods-jdk8") :
            new File("src/test/resources/reflective/methods-jdk11");

    public static final File METHODS_1 = new File(METHODS_DIR, "1.txt");
    public static final File METHODS_2 = new File(METHODS_DIR, "2.txt");
    public static final File METHODS_3 = new File(METHODS_DIR, "3.txt");
    public static final File METHODS_4 = new File(METHODS_DIR, "4.txt");
    public static final File METHODS_5 = new File(METHODS_DIR, "5.txt");

    public static final File CONSTRUCT_DIR =
            RuntimeUtils.getJavaVersion() < 11 ?
            new File("src/test/resources/reflective/constructors-jdk8"):
            new File("src/test/resources/reflective/constructors-jdk11");

    public static final File CONSTRUCT_1 = new File(CONSTRUCT_DIR, "1.txt");
    public static final File CONSTRUCT_2 = new File(CONSTRUCT_DIR, "2.txt");
    public static final File CONSTRUCT_3 = new File(CONSTRUCT_DIR, "3.txt");
    public static final File CONSTRUCT_4 = new File(CONSTRUCT_DIR, "4.txt");
    public static final File CONSTRUCT_5 = new File(CONSTRUCT_DIR, "5.txt");

    public static final File FIELDS_DIR =
            RuntimeUtils.getJavaVersion() < 11 ?
            new File("src/test/resources/reflective/fields-jdk8"):
            new File("src/test/resources/reflective/fields-jdk11");

    public static final File FIELDS_1 = new File(FIELDS_DIR, "1.txt");
    public static final File FIELDS_2 = new File(FIELDS_DIR, "2.txt");
    public static final File FIELDS_3 = new File(FIELDS_DIR, "3.txt");

    public static final File WALK_DIR = new File("src/test/resources/reflective/walker");

    public static final File WALK_BASIC = new File(WALK_DIR,"walkBasic.txt");
    public static final File WALK_VISITORS = new File(WALK_DIR,"walkVisitors.txt");
    public static final File WALK_RECURSIVE = new File(WALK_DIR,"walkRecursive.txt");

    public static final File WALK_PRINT_FORMAT = new File(WALK_DIR,"printFormat.txt");
    public static final File WALK_PRINT_RULES = new File(WALK_DIR,"printFormatRules.txt");
    public static final File WALK_PRINT_RECURSIVE = new File(WALK_DIR,"printRecursive.txt");
    public static final File WALK_PRINT_ARRAYS = new File(WALK_DIR,"printArrays.txt");
    public static final File WALK_PRINT_MATCH_TEXT = new File(WALK_DIR,"printMatchText.txt");

    public static final File WALK_COLLECT_FORMAT = new File(WALK_DIR,"collectFormat.txt");
    public static final File WALK_COLLECT_FLAT = new File(WALK_DIR,"collectFlat.txt");
    public static final File WALK_COLLECT_RECURSIVE = new File(WALK_DIR,"collectRecursive.txt");
    public static final File WALK_COLLECT_ARRAYS = new File(WALK_DIR,"collectArrays.txt");
    public static final File WALK_COLLECT_MATCH_TEXT = new File(WALK_DIR,"collectMatchText.txt");

}
