1 //   OpenNN: Open Neural Networks Library
2 //   www.opennn.net
3 //
4 //   U N S C A L I N G   L A Y E R   T E S T   C L A S S   H E A D E R
5 //
6 //   Artificial Intelligence Techniques SL
7 //   artelnics@artelnics.com
8 
9 #ifndef UNSCALINGLAYERTEST_H
10 #define UNSCALINGLAYERTEST_H
11 
12 // Unit testing includes
13 
14 #include "unit_testing.h"
15 
16 using namespace OpenNN;
17 
18 
19 class UnscalingLayerTest : public UnitTesting
20 {
21 
22 #define STRING(x) #x
23 #define TOSTRING(x) STRING(x)
24 #define LOG __FILE__ ":" TOSTRING(__LINE__)"\n"
25 
26 public:
27 
28    explicit UnscalingLayerTest();
29 
30    virtual ~UnscalingLayerTest();
31 
32    // Constructor and destructor methods
33 
34    void test_constructor();
35    void test_destructor();
36 
37    // Assignment operators methods
38 
39    void test_assignment_operator();
40 
41    // Get methods
42 
43    void test_get_dimensions();
44 
45    // Multilayer perceptron architecture
46 
47    void test_get_inputs_number();
48    void test_get_neurons_number();
49 
50    // Statistics
51 
52    void test_get_descriptives();
53    void test_get_descriptives_matrix();
54 
55    void test_get_minimums();
56    void test_get_maximums();
57 
58    // Variables scaling and unscaling
59 
60    void test_get_unscaling_method();
61    void test_write_scaling_methods();
62 
63    // Display messages
64 
65    void test_get_display();
66 
67    // Set methods
68 
69    void test_set();
70    void test_set_inputs_number();
71    void test_set_neurons_number();
72    void test_set_default();
73 
74    // Output variables descriptives
75 
76    void test_set_descriptives();
77    void test_set_descriptives_eigen();
78    void test_set_item_descriptives();
79 
80    void test_set_minimum();
81    void test_set_maximum();
82    void test_set_mean();
83    void test_set_standard_deviation();
84 
85    // Variables scaling and unscaling
86 
87    void test_set_unscaling_method();
88 
89    // Display messages
90 
91    void test_set_display();
92 
93    // Check methods
94 
95    void test_is_empty();
96 
97    // Outputs unscaling
98 
99    void test_calculate_outputs();
100 
101    void test_calculate_minimum_maximum_outputs();
102    void test_calculate_mean_standard_deviation_outputs();
103    void test_calculate_logarithmic_outputs();
104 
105    // Expression methods
106 
107    void test_write_expression();
108 
109    // Serialization methods
110 
111    void test_to_XML();
112    void test_from_XML();
113 
114    // Unit testing methods
115 
116    void run_test_case();
117 };
118 
119 
120 #endif
121 
122 
123 
124 // OpenNN: Open Neural Networks Library.
125 // Copyright (C) 2005-2020 Artificial Intelligence Techniques, SL.
126 //
127 // This library is free software; you can redistribute it and/or
128 // modify it under the terms of the GNU Lesser General Public
129 // License as published by the Free Software Foundation; either
130 // version 2.1 of the License, or any later version.
131 //
132 // This library is distributed in the hope that it will be useful,
133 // but WITHOUT ANY WARRANTY; without even the implied warranty of
134 // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
135 // Lesser General Public License for more details.
136 
137 // You should have received a copy of the GNU Lesser General Public
138 // License along with this library; if not, write to the Free Software
139 // Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA  02110-1301  USA
140