//==================================================================================================
// F i l e _ n a m e                                                                      Interface
//                                                                                By Bruno Bachelet
//==================================================================================================
// Copyright (c) 1999-2016
// Bruno Bachelet - bruno@nawouak.net - http://www.nawouak.net
//
// This file is part of the B++ Library. This library is free software; you can redistribute it
// and/or modify it under the terms of the GNU Library General Public License as published by the
// Free Software Foundation; either version 2 of the License, or (at your option) any later
// version.
//
// This library is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY;
// without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See
// the GNU Library General Public License for more details (http://www.gnu.org).

/*DESCRIPTION*/
/* This module contains the name of all the files used or created by the B++ Library. Most of
   them are needed for the testing, for the debugging and for the internal running of the
   library. Modify them only if your operating system can not manipulate long file names like
   MS-DOS. The macrocommands for these names are not listed here. They are numerous. So see
   directly the source file for more details. We hope the names are explicit enough. */

// File Name //-------------------------------------------------------------------------------------
#line __LINE__ "file_name.hpp"

// Guardian //--------------------------------------------------------------------------------------
#ifndef guFileName
#define guFileName

// Testing Files //---------------------------------------------------------------------------------
#define CALENDAR_GREGORIAN_TESTING_FILE                                "calendar_gregorian.txt"
#define DATA_STRUCTURE_BINARY_TREE_TESTING_FILE                        "data_structure_binary_tree.txt"
#define GRAPH_ALGORITHM_TESTING_FILE                                   "graph_algorithm.txt"
#define GRAPH_STRUCTURE_TESTING_FILE                                   "graph_structure.txt"
#define GRAPH_PROBLEM_CONNECTIVITY_TESTING_FILE                        "graph_problem_connectivity.txt"
#define GRAPH_PROBLEM_MAX_FLOW_TESTING_FILE                            "graph_problem_max_flow.txt"
#define GRAPH_PROBLEM_MIN_COST_FLOW_ALGORITHM_TESTING_FILE             "graph_problem_min_cost_flow_algorithm.txt"
#define GRAPH_PROBLEM_MIN_COST_FLOW_COST_SCALING_TESTING_FILE          "graph_problem_min_cost_flow_cost_scaling.txt"
#define GRAPH_PROBLEM_MIN_COST_FLOW_CYCLE_CANCELING_TESTING_FILE       "graph_problem_min_cost_flow_cycle_canceling.txt"
#define GRAPH_PROBLEM_MIN_COST_FLOW_LINEAR_SYSTEM_TESTING_FILE         "graph_problem_min_cost_flow_linear_system.txt"
#define GRAPH_PROBLEM_MIN_COST_FLOW_STRUCTURE_TESTING_FILE             "graph_problem_min_cost_flow_structure.txt"
#define GRAPH_PROBLEM_MIN_COST_TENSION_AGGREGATION_TESTING_FILE        "graph_problem_min_cost_tension_aggregation.txt"
#define GRAPH_PROBLEM_MIN_COST_TENSION_AGGREGATION_BINARY_TESTING_FILE "graph_problem_min_cost_tension_aggregation_binary.txt"
#define GRAPH_PROBLEM_MIN_COST_TENSION_ALGORITHM_TESTING_FILE          "graph_problem_min_cost_tension_algorithm.txt"
#define GRAPH_PROBLEM_MIN_COST_TENSION_BRANCH_BOUND_TESTING_FILE       "graph_problem_min_cost_tension_branch_bound.txt"
#define GRAPH_PROBLEM_MIN_COST_TENSION_CONFORMING_TESTING_FILE         "graph_problem_min_cost_tension_conforming.txt"
#define GRAPH_PROBLEM_MIN_COST_TENSION_DUAL_COST_SCALING_TESTING_FILE  "graph_problem_min_cost_tension_dual_cost_scaling.txt"
#define GRAPH_PROBLEM_MIN_COST_TENSION_HEURISTIC_BINARY_TESTING_FILE   "graph_problem_min_cost_tension_heuristic_binary.txt"
#define GRAPH_PROBLEM_MIN_COST_TENSION_LINEAR_SYSTEM_TESTING_FILE      "graph_problem_min_cost_tension_linear_system.txt"
#define GRAPH_PROBLEM_MIN_COST_TENSION_STRUCTURE_TESTING_FILE          "graph_problem_min_cost_tension_structure.txt"
#define GRAPH_PROBLEM_MIN_SPANNING_TREE_TESTING_FILE                   "graph_problem_min_spanning_tree.txt"
#define GRAPH_PROBLEM_SERIAL_PARALLEL_TESTING_FILE                     "graph_problem_serial_parallel.txt"
#define GRAPH_PROBLEM_SHORTEST_PATH_TESTING_FILE                       "graph_problem_shortest_path.txt"
#define GRAPH_PROBLEM_TENSION_ALGORITHM_TESTING_FILE                   "graph_problem_tension_algorithm.txt"
#define GRAPH_PROBLEM_TENSION_STRUCTURE_TESTING_FILE                   "graph_problem_tension_structure.txt"
#define JAVA_ARRAY_TESTING_FILE                                        "java_array.txt"
#define LINEAR_SYSTEM_SOLVER_TESTING_FILE                              "linear_system_solver.txt"
#define LINEAR_SYSTEM_STRUCTURE_TESTING_FILE                           "linear_system_structure.txt"
#define STANDARD_ASCII_TESTING_FILE                                    "standard_ascii.txt"
#define STANDARD_CLASS_TESTING_FILE                                    "standard_class.txt"
#define STANDARD_CONVERSION_TESTING_FILE                               "standard_conversion.txt"
#define STANDARD_ERROR_TESTING_FILE                                    "standard_error.txt"
#define STANDARD_MATHS_TESTING_FILE                                    "standard_maths.txt"
#define STANDARD_MEMORY_TESTING_FILE                                   "standard_memory.txt"
#define STANDARD_RANDOM_NUMBER_TESTING_FILE                            "standard_random_number.txt"
#define STANDARD_SERIALIZATION_TESTING_FILE                            "standard_serialization.txt"
#define STANDARD_STREAM_TESTING_FILE                                   "standard_stream.txt"
#define STANDARD_STRING_TESTING_FILE                                   "standard_string.txt"
#define STANDARD_THREAD_TESTING_FILE_1                                 "standard_thread--1.txt"
#define STANDARD_THREAD_TESTING_FILE_2                                 "standard_thread--2.txt"
#define STANDARD_TYPE_TESTING_FILE                                     "standard_type.txt"
#define STATISTICS_COLLECTOR_TESTING_FILE                              "statistics_collector.txt"
#define TEXT_FORMAT_HTML_TESTING_FILE                                  "text_format_html.txt"

// Testing Outputs //-------------------------------------------------------------------------------
#define STANDARD_STREAM_TESTING_FOLDER  "standard_stream_testing"
#define TEXT_FORMAT_HTML_TESTING_FOLDER "text_format_html_testing"

#define STANDARD_STREAM_TESTING_OUTPUT_1  "must_be_destroyed"
#define STANDARD_STREAM_TESTING_OUTPUT_2  "must_not_be_destroyed"
#define STANDARD_STREAM_TESTING_OUTPUT_3  "new_folder_name"
#define STANDARD_STREAM_TESTING_OUTPUT_4  "old_file_name"
#define STANDARD_STREAM_TESTING_OUTPUT_5  "new_file_name"
#define TEXT_FORMAT_HTML_TESTING_OUTPUT_1 "pages"
#define TEXT_FORMAT_HTML_TESTING_OUTPUT_2 "english"
#define TEXT_FORMAT_HTML_TESTING_OUTPUT_3 "home.htm"
#define TEXT_FORMAT_HTML_TESTING_OUTPUT_4 "index.htm"
#define TEXT_FORMAT_HTML_TESTING_OUTPUT_5 "menu.htm"

// Data Files //------------------------------------------------------------------------------------
#define CALENDAR_GREGORIAN_DATA_FILE_1 "dates_example.dat"

#define GRAPH_ALGORITHM_DATA_FILE_1 "graph_example_1.dat"
#define GRAPH_ALGORITHM_DATA_FILE_2 "graph_example_2.dat"
#define GRAPH_ALGORITHM_DATA_FILE_3 "graph_example_3.dat"
#define GRAPH_ALGORITHM_DATA_FILE_4 "graph_example_4.dat"
#define GRAPH_ALGORITHM_DATA_FILE_5 "graph_example_5.dat"
#define GRAPH_ALGORITHM_DATA_FILE_6 "graph_example_6.dat"
#define GRAPH_ALGORITHM_DATA_FILE_7 "graph_example_7.dat"

#define GRAPH_LAYOUT_DATA_FILE_1 "eps_header_1.dat"
#define GRAPH_LAYOUT_DATA_FILE_2 "eps_header_2.dat"

#define GRAPH_PROBLEM_CONNECTIVITY_DATA_FILE_1 "graph_example_1.dat"
#define GRAPH_PROBLEM_CONNECTIVITY_DATA_FILE_2 "graph_example_2.dat"
#define GRAPH_PROBLEM_CONNECTIVITY_DATA_FILE_3 "graph_example_3.dat"
#define GRAPH_PROBLEM_CONNECTIVITY_DATA_FILE_4 "graph_example_4.dat"
#define GRAPH_PROBLEM_CONNECTIVITY_DATA_FILE_5 "graph_example_5.dat"

#define GRAPH_PROBLEM_MAX_FLOW_DATA_FILE_1 "graph_example_1.dat"
#define GRAPH_PROBLEM_MAX_FLOW_DATA_FILE_2 "graph_example_2.dat"
#define GRAPH_PROBLEM_MAX_FLOW_DATA_FILE_3 "graph_example_3.dat"

#define GRAPH_PROBLEM_MIN_COST_FLOW_COMMON_DATA_FILE_1 "graph_example_1.dat"
#define GRAPH_PROBLEM_MIN_COST_FLOW_COMMON_DATA_FILE_2 "graph_example_2.dat"
#define GRAPH_PROBLEM_MIN_COST_FLOW_COMMON_DATA_FILE_3 "graph_example_3.dat"

#define GRAPH_PROBLEM_MIN_COST_TENSION_AGGREGATION_DATA_FILE_1 "graph_example_1.dat"
#define GRAPH_PROBLEM_MIN_COST_TENSION_AGGREGATION_DATA_FILE_2 "graph_example_2.dat"
#define GRAPH_PROBLEM_MIN_COST_TENSION_AMPL_DATA_FILE_1        "ampl_result_1.dat"
#define GRAPH_PROBLEM_MIN_COST_TENSION_AMPL_DATA_FILE_2        "ampl_result_2.dat"
#define GRAPH_PROBLEM_MIN_COST_TENSION_AMPL_DATA_FILE_3        "ampl_result_3.dat"
#define GRAPH_PROBLEM_MIN_COST_TENSION_AMPL_DATA_FILE_4        "ampl_result_4.dat"
#define GRAPH_PROBLEM_MIN_COST_TENSION_AMPL_DATA_FILE_5        "ampl_result_5.dat"
#define GRAPH_PROBLEM_MIN_COST_TENSION_AMPL_DATA_FILE_6        "ampl_result_6.dat"
#define GRAPH_PROBLEM_MIN_COST_TENSION_BINARY_DATA_FILE_1      "graph_example_01.dat"
#define GRAPH_PROBLEM_MIN_COST_TENSION_BINARY_DATA_FILE_2      "graph_example_02.dat"
#define GRAPH_PROBLEM_MIN_COST_TENSION_BINARY_DATA_FILE_3      "graph_example_03.dat"
#define GRAPH_PROBLEM_MIN_COST_TENSION_BINARY_DATA_FILE_4      "graph_example_04.dat"
#define GRAPH_PROBLEM_MIN_COST_TENSION_BINARY_DATA_FILE_5      "graph_example_05.dat"
#define GRAPH_PROBLEM_MIN_COST_TENSION_BINARY_DATA_FILE_6      "graph_example_06.dat"
#define GRAPH_PROBLEM_MIN_COST_TENSION_BINARY_DATA_FILE_7      "graph_example_07.dat"
#define GRAPH_PROBLEM_MIN_COST_TENSION_BINARY_DATA_FILE_8      "graph_example_08.dat"
#define GRAPH_PROBLEM_MIN_COST_TENSION_BINARY_DATA_FILE_9      "graph_example_09.dat"
#define GRAPH_PROBLEM_MIN_COST_TENSION_BINARY_DATA_FILE_10     "graph_example_10.dat"
#define GRAPH_PROBLEM_MIN_COST_TENSION_BINARY_DATA_FILE_11     "graph_example_11.dat"
#define GRAPH_PROBLEM_MIN_COST_TENSION_BINARY_DATA_FILE_12     "graph_example_12.dat"
#define GRAPH_PROBLEM_MIN_COST_TENSION_DISCRETE_DATA_FILE_1    "graph_example_1.dat"
#define GRAPH_PROBLEM_MIN_COST_TENSION_DISCRETE_DATA_FILE_2    "graph_example_2.dat"
#define GRAPH_PROBLEM_MIN_COST_TENSION_DISCRETE_DATA_FILE_3    "graph_example_3.dat"
#define GRAPH_PROBLEM_MIN_COST_TENSION_LINEAR_DATA_FILE_1      "graph_example_01.dat"
#define GRAPH_PROBLEM_MIN_COST_TENSION_LINEAR_DATA_FILE_2      "graph_example_02.dat"
#define GRAPH_PROBLEM_MIN_COST_TENSION_LINEAR_DATA_FILE_3      "graph_example_03.dat"
#define GRAPH_PROBLEM_MIN_COST_TENSION_LINEAR_DATA_FILE_4      "graph_example_04.dat"
#define GRAPH_PROBLEM_MIN_COST_TENSION_LINEAR_DATA_FILE_5      "graph_example_05.dat"
#define GRAPH_PROBLEM_MIN_COST_TENSION_LINEAR_DATA_FILE_6      "graph_example_06.dat"
#define GRAPH_PROBLEM_MIN_COST_TENSION_LINEAR_DATA_FILE_7      "graph_example_07.dat"
#define GRAPH_PROBLEM_MIN_COST_TENSION_LINEAR_DATA_FILE_8      "graph_example_08.dat"
#define GRAPH_PROBLEM_MIN_COST_TENSION_LINEAR_DATA_FILE_9      "graph_example_09.dat"
#define GRAPH_PROBLEM_MIN_COST_TENSION_LINEAR_DATA_FILE_10     "graph_example_10.dat"
#define GRAPH_PROBLEM_MIN_COST_TENSION_LINEAR_DATA_FILE_11     "graph_example_11.dat"
#define GRAPH_PROBLEM_MIN_COST_TENSION_LINEAR_DATA_FILE_12     "graph_example_12.dat"
#define GRAPH_PROBLEM_MIN_COST_TENSION_LINEAR_DATA_FILE_13     "graph_example_13.dat"
#define GRAPH_PROBLEM_MIN_COST_TENSION_LINEAR_DATA_FILE_14     "graph_example_14.dat"
#define GRAPH_PROBLEM_MIN_COST_TENSION_LINEAR_DATA_FILE_15     "graph_example_15.dat"
#define GRAPH_PROBLEM_MIN_COST_TENSION_PIECEWISE_DATA_FILE_1   "graph_example_1.dat"
#define GRAPH_PROBLEM_MIN_COST_TENSION_PIECEWISE_DATA_FILE_2   "graph_example_2.dat"
#define GRAPH_PROBLEM_MIN_COST_TENSION_PIECEWISE_DATA_FILE_3   "graph_example_3.dat"

#define GRAPH_PROBLEM_MIN_SPANNING_TREE_DATA_FILE_1 "graph_example_1.dat"
#define GRAPH_PROBLEM_MIN_SPANNING_TREE_DATA_FILE_2 "graph_example_2.dat"
#define GRAPH_PROBLEM_MIN_SPANNING_TREE_DATA_FILE_3 "graph_example_3.dat"

#define GRAPH_PROBLEM_SERIAL_PARALLEL_DATA_FILE_1 "graph_example_1.dat"
#define GRAPH_PROBLEM_SERIAL_PARALLEL_DATA_FILE_2 "graph_example_2.dat"
#define GRAPH_PROBLEM_SERIAL_PARALLEL_DATA_FILE_3 "graph_example_3.dat"
#define GRAPH_PROBLEM_SERIAL_PARALLEL_DATA_FILE_4 "graph_example_4.dat"

#define GRAPH_PROBLEM_SHORTEST_PATH_DATA_FILE_1 "graph_example_1.dat"
#define GRAPH_PROBLEM_SHORTEST_PATH_DATA_FILE_2 "graph_example_2.dat"
#define GRAPH_PROBLEM_SHORTEST_PATH_DATA_FILE_3 "graph_example_3.dat"

#define GRAPH_PROBLEM_TENSION_ALGORITHM_DATA_FILE_1  "graph_example_01.dat"
#define GRAPH_PROBLEM_TENSION_ALGORITHM_DATA_FILE_2  "graph_example_02.dat"
#define GRAPH_PROBLEM_TENSION_ALGORITHM_DATA_FILE_3  "graph_example_03.dat"
#define GRAPH_PROBLEM_TENSION_ALGORITHM_DATA_FILE_4  "graph_example_04.dat"
#define GRAPH_PROBLEM_TENSION_ALGORITHM_DATA_FILE_5  "graph_example_05.dat"
#define GRAPH_PROBLEM_TENSION_ALGORITHM_DATA_FILE_6  "graph_example_06.dat"
#define GRAPH_PROBLEM_TENSION_ALGORITHM_DATA_FILE_7  "graph_example_07.dat"
#define GRAPH_PROBLEM_TENSION_ALGORITHM_DATA_FILE_8  "graph_example_08.dat"
#define GRAPH_PROBLEM_TENSION_ALGORITHM_DATA_FILE_9  "graph_example_09.dat"
#define GRAPH_PROBLEM_TENSION_ALGORITHM_DATA_FILE_10 "graph_example_10.dat"
#define GRAPH_PROBLEM_TENSION_ALGORITHM_DATA_FILE_11 "graph_example_11.dat"
#define GRAPH_PROBLEM_TENSION_ALGORITHM_DATA_FILE_12 "graph_example_12.dat"
#define GRAPH_PROBLEM_TENSION_ALGORITHM_DATA_FILE_13 "graph_example_13.dat"
#define GRAPH_PROBLEM_TENSION_ALGORITHM_DATA_FILE_14 "graph_example_14.dat"
#define GRAPH_PROBLEM_TENSION_ALGORITHM_DATA_FILE_15 "graph_example_15.dat"

#define JAVA_ARRAY_DATA_FILE_1 "jirk--300x188.gif"

#define LINEAR_SYSTEM_AMPL_DATA_FILE_1   "ampl_result_1.dat"
#define LINEAR_SYSTEM_AMPL_DATA_FILE_2   "ampl_result_2.dat"
#define LINEAR_SYSTEM_AMPL_DATA_FILE_3   "ampl_result_3.dat"
#define LINEAR_SYSTEM_CPLEX_DATA_FILE_1  "cplex_result_1.dat"
#define LINEAR_SYSTEM_CPLEX_DATA_FILE_2  "cplex_result_2.dat"
#define LINEAR_SYSTEM_CPLEX_DATA_FILE_3  "cplex_result_3.dat"
#define LINEAR_SYSTEM_CPLEX_DATA_FILE_4  "cplex_result_4.dat"
#define LINEAR_SYSTEM_SOLVER_DATA_FILE_1 "linear_system_example_1.dat"
#define LINEAR_SYSTEM_SOLVER_DATA_FILE_2 "linear_system_example_2.dat"

#define STANDARD_STREAM_DATA_FILE_1 "recursive_folder"

#define TEXT_FORMAT_HTML_DATA_FILE_1 "images"
#define TEXT_FORMAT_HTML_DATA_FILE_2 "styles"
#define TEXT_FORMAT_HTML_DATA_FILE_3 "../../images/bpp_library--54x60.gif"
#define TEXT_FORMAT_HTML_DATA_FILE_4 "testing_template.dat"

// Temporary Files //-------------------------------------------------------------------------------
#define DATA_STRUCTURE_BINARY_TREE_TEMPORARY_FILE      "data_structure_binary_tree.tmp"
#define GRAPH_STRUCTURE_TEMPORARY_FILE                 "graph_structure.tmp"
#define GRAPH_PROBLEM_MAX_FLOW_TEMPORARY_FILE          "graph_problem_max_flow.tmp"
#define GRAPH_PROBLEM_MIN_COST_FLOW_TEMPORARY_FILE     "graph_problem_min_cost_flow.tmp"
#define GRAPH_PROBLEM_MIN_COST_TENSION_TEMPORARY_FILE  "graph_problem_min_cost_tension.tmp"
#define GRAPH_PROBLEM_MIN_SPANNING_TREE_TEMPORARY_FILE "graph_problem_min_spanning_tree.tmp"
#define GRAPH_PROBLEM_SHORTEST_PATH_TEMPORARY_FILE     "graph_problem_shortest_path.tmp"
#define GRAPH_PROBLEM_TENSION_TEMPORARY_FILE           "graph_problem_tension.tmp"
#define LINEAR_SYSTEM_AMPL_TEMPORARY_FILE_1            "linear_system_ampl_temporary.cmd"
#define LINEAR_SYSTEM_AMPL_TEMPORARY_FILE_2            "linear_system_ampl_temporary.mod"
#define LINEAR_SYSTEM_AMPL_TEMPORARY_FILE_3            "linear_system_ampl_temporary.res"
#define LINEAR_SYSTEM_CPLEX_TEMPORARY_FILE_1           "linear_system_cplex_temporary.cmd"
#define LINEAR_SYSTEM_CPLEX_TEMPORARY_FILE_2           "linear_system_cplex_temporary.lp"
#define LINEAR_SYSTEM_CPLEX_TEMPORARY_FILE_3           "linear_system_cplex_temporary.res"
#define LINEAR_SYSTEM_CPLEX_LIBRARY_TEMPORARY_FILE_1   "linear_system_cplex_library_temporary.lp"
#define LINEAR_SYSTEM_CPLEX_LIBRARY_TEMPORARY_FILE_2   "linear_system_cplex_library_temporary.res"
#define LINEAR_SYSTEM_GLPK_TEMPORARY_FILE              "linear_system_glpk_temporary.res"
#define LINEAR_SYSTEM_SOLVER_TEMPORARY_FILE            "linear_system_solver.tmp"
#define LINEAR_SYSTEM_STRUCTURE_TEMPORARY_FILE         "linear_system_structure.tmp"
#define STANDARD_STORAGE_TEMPORARY_FILE                "standard_storage.tmp"
#define TEXT_FORMAT_HTML_TEMPORARY_FILE_1              "text_format_html_1.tmp"
#define TEXT_FORMAT_HTML_TEMPORARY_FILE_2              "text_format_html_2.tmp"

// Bugs Files //------------------------------------------------------------------------------------
#define CALENDAR_GREGORIAN_AUTO_TESTING_FILE     "calendar_gregorian.bug"
#define FILE_REGISTER_FILE                       "files_register.bug"
#define EVENT_TRACE_FILE                         "events_trace.bug"
#define POINTER_REGISTER_FILE                    "pointers_register.bug"
#define STANDARD_SERIALIZATION_AUTO_TESTING_FILE "standard_serialization.bug"

// End //-------------------------------------------------------------------------------------------
#endif