package com.capgemini.reports;

/**
 * Enumeration of different scenarios.<br>
 * Used for tests.
 **/
public enum ScenarioForTests {
    /**
     * Normal test.
     */
    TEST_N24(
            "N24",
            "24N",
            "35R0",
            "60",
            "/serialization/n24-24n/serialN24etudeMono.ser",
            "/serialization/n24-24n/serialN24etudeMulti.ser",
            "/serialization/n24-24n/serial24NassembMono.ser",
            "/serialization/n24-24n/serial24NassembMulti.ser"),
    /**
     * Large test.
     */
    TEST_U22(
            "U22",
            "22U",
            "97R0",
            "550",
            "/serialization/u22-22u/serialU22etudeMono.ser",
            "/serialization/u22-22u/serialU22etudeMulti.ser",
            "/serialization/u22-22u/serial22UassembMono.ser",
            "/serialization/u22-22u/serial22UassembMulti.ser"),
    /**
     * Tiny test.
     */
    TEST_E24(
            "E24",
            "24E",
            "30E0",
            "20",
            "/serialization/e24-24e/serialE24etudeMono.ser",
            "/serialization/e24-24e/serialE24etudeMulti.ser",
            "/serialization/e24-24e/serial24EassembMono.ser",
            "/serialization/e24-24e/serial24EassembMulti.ser"),
    /**
     * Small test.
     */
    TEST_U24(
            "U24",
            "24U",
            "35R0",
            "60",
            "/serialization/u24-24u/serialU24etudeMono.ser",
            "/serialization/u24-24u/serialU24etudeMulti.ser",
            "/serialization/u24-24u/serial24UassembMono.ser",
            "/serialization/u24-24u/serial24UassembMulti.ser");

    /**
     * The id of the Generic.
     */
    public final String generic;
    /**
     * The id of the Generic Assemb.
     */
    public final String genericAssemb;
    /**
     * The id of the Product.
     */
    public final String product;
    /**
     * The unit.
     */
    public final String unit;
    /**
     * The file of Technical view for deserialization in Mono.
     */
    public final String fileTechnicalMono;
    /**
     * The file of Technical view for deserialization in Multi.
     */
    public final String fileTechnicalMulti;
    /**
     * The file of Assembly view for deserialization in Mono.
     */
    public final String fileAssembMono;
    /**
     * The file of Assembly view for deserialization in Multi.
     */
    public final String fileAssembMulti;

    ScenarioForTests(final String generic, final String genericAssemb, final String product, final String unit,
                     final String fileTechnicalMono, final String fileTechnicalMulti, final String fileAssembMono, final String fileAssembMulti) {
        this.product = product;
        this.generic = generic;
        this.genericAssemb = genericAssemb;
        this.unit = unit;
        this.fileTechnicalMono = fileTechnicalMono;
        this.fileTechnicalMulti = fileTechnicalMulti;
        this.fileAssembMono = fileAssembMono;
        this.fileAssembMulti = fileAssembMulti;
    }
}
