1 // OpenNN: Open Neural Networks Library 2 // www.opennn.net 3 // 4 // B O U N D 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 BOUNDINGLAYERTEST_H 10 #define BOUNDINGLAYERTEST_H 11 12 // Unit testing includes 13 14 #include "unit_testing.h" 15 16 using namespace OpenNN; 17 18 class BoundingLayerTest : public UnitTesting 19 { 20 21 #define STRING(x) #x 22 #define TOSTRING(x) STRING(x) 23 #define LOG __FILE__ ":" TOSTRING(__LINE__)"\n" 24 25 public: 26 27 explicit BoundingLayerTest(); 28 29 virtual ~BoundingLayerTest(); 30 31 // Constructor and destructor methods 32 33 void test_constructor(); 34 void test_destructor(); 35 36 // Assignment operators methods 37 38 void test_assignment_operator(); 39 40 // Get methods 41 42 // Architecture 43 44 void test_get_neurons_number(); 45 46 // Variables bounds 47 48 void test_get_lower_bounds(); 49 void test_get_lower_bound(); 50 51 void test_get_upper_bounds(); 52 void test_get_upper_bound(); 53 54 void test_get_bounds(); 55 void test_get_type(); 56 57 // Display messages 58 59 void test_get_display(); 60 61 // Set methods 62 63 void test_set(); 64 void test_set_default(); 65 66 // Variables bounds 67 68 void test_set_lower_bounds(); 69 void test_set_lower_bound(); 70 71 void test_set_upper_bounds(); 72 void test_set_upper_bound(); 73 74 void test_set_bounds(); 75 76 // Display messages 77 78 void test_set_display(); 79 80 // Output methods 81 82 void test_calculate_outputs(); 83 void test_calculate_derivatives(); 84 85 // Expression methods 86 87 void test_write_expression(); 88 89 // Unit testing methods 90 91 void run_test_case(); 92 }; 93 94 #endif 95 96 // OpenNN: Open Neural Networks Library. 97 // Copyright (C) 2005-2020 Artificial Intelligence Techniques, SL. 98 // 99 // This library is free software; you can redistribute it and/or 100 // modify it under the terms of the GNU Lesser General Public 101 // License as published by the Free Software Foundation; either 102 // version 2.1 of the License, or any later version. 103 // 104 // This library is distributed in the hope that it will be useful, 105 // but WITHOUT ANY WARRANTY; without even the implied warranty of 106 // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU 107 // Lesser General Public License for more details. 108 109 // You should have received a copy of the GNU Lesser General Public 110 // License along with this library; if not, write to the Free Software 111 // Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA 112