Commit b22066919e2fe03d69ea4cb4384c50e18e4d7b08

Authored by Jürgen Knödlseder
1 parent 926b69e7

Make compliant to coding standards.

test/test_GXml.cpp
1 /*************************************************************************** 1 /***************************************************************************
2 - * test_GXml.cpp - test GXml classes * 2 + * test_GXml.hpp - Test xml module *
3 * ----------------------------------------------------------------------- * 3 * ----------------------------------------------------------------------- *
4 - * copyright (C) 2010 by Jurgen Knodlseder * 4 + * copyright (C) 2010-2012 by Juergen Knoedlseder *
5 * ----------------------------------------------------------------------- * 5 * ----------------------------------------------------------------------- *
6 * * 6 * *
7 * This program is free software: you can redistribute it and/or modify * 7 * This program is free software: you can redistribute it and/or modify *
@@ -20,41 +20,43 @@ @@ -20,41 +20,43 @@
20 ***************************************************************************/ 20 ***************************************************************************/
21 /** 21 /**
22 * @file test_GXml.cpp 22 * @file test_GXml.cpp
23 - * @brief Testing of XML module.  
24 - * @author J. Knodlseder 23 + * @brief Implementation of unit tests for XML module
  24 + * @author Juergen Knoedlseder
25 */ 25 */
26 26
27 /* __ Includes ___________________________________________________________ */ 27 /* __ Includes ___________________________________________________________ */
28 #ifdef HAVE_CONFIG_H 28 #ifdef HAVE_CONFIG_H
29 #include <config.h> 29 #include <config.h>
30 #endif 30 #endif
31 -#include "GammaLib.hpp"  
32 #include "test_GXml.hpp" 31 #include "test_GXml.hpp"
33 -#include <iostream>  
34 -#include <stdexcept>  
35 -#include <stdlib.h>  
36 32
  33 +
  34 +/***********************************************************************//**
  35 + * @brief Set parameters and tests
  36 + **************************************************************************/
37 void TestGXml::set(void) 37 void TestGXml::set(void)
38 { 38 {
39 // Test name 39 // Test name
40 name("GXml"); 40 name("GXml");
41 41
42 - // xml file  
43 - m_xml_file="data/test.xml"; 42 + // Set XML filename
  43 + m_xml_file = "data/test.xml";
44 44
45 - //Add Tests  
46 - add_test(static_cast<pfunction>(&TestGXml::test_GXml_attributes),"xml attributes");  
47 - add_test(static_cast<pfunction>(&TestGXml::test_GXml_elements),"xml elements");  
48 - add_test(static_cast<pfunction>(&TestGXml::test_GXml_construct),"xml constructors");  
49 - add_test(static_cast<pfunction>(&TestGXml::test_GXml_load),"xml load");  
50 - add_test(static_cast<pfunction>(&TestGXml::test_GXml_access),"xml access"); 45 + // Append tests
  46 + append(static_cast<pfunction>(&TestGXml::test_GXml_attributes), "Test XML attributes");
  47 + append(static_cast<pfunction>(&TestGXml::test_GXml_elements), "Test XML elements");
  48 + append(static_cast<pfunction>(&TestGXml::test_GXml_construct),"Test XML constructors");
  49 + append(static_cast<pfunction>(&TestGXml::test_GXml_load),"Test XML load");
  50 + append(static_cast<pfunction>(&TestGXml::test_GXml_access), "Test XML access");
51 51
  52 + // Return
52 return; 53 return;
53 } 54 }
54 55
55 -/***************************************************************************  
56 - * Test: GXml element attributes *  
57 - ***************************************************************************/ 56 +
  57 +/***********************************************************************//**
  58 + * @brief Test XML arrtibutes
  59 + **************************************************************************/
58 void TestGXml::test_GXml_attributes(void) 60 void TestGXml::test_GXml_attributes(void)
59 { 61 {
60 // Test valid attributes 62 // Test valid attributes
@@ -142,16 +144,17 @@ void TestGXml::test_GXml_attributes(void) @@ -142,16 +144,17 @@ void TestGXml::test_GXml_attributes(void)
142 test_try_failure(e); 144 test_try_failure(e);
143 } 145 }
144 146
145 - 147 + // Return
146 return; 148 return;
147 } 149 }
148 150
149 151
150 -/***************************************************************************  
151 - * Test: GXml elements *  
152 - ***************************************************************************/ 152 +/***********************************************************************//**
  153 + * @brief Test XML elements
  154 + **************************************************************************/
153 void TestGXml::test_GXml_elements(void) 155 void TestGXml::test_GXml_elements(void)
154 { 156 {
  157 + // Perform tests
155 GXmlElement element; 158 GXmlElement element;
156 element.attribute("test", "1.0"); 159 element.attribute("test", "1.0");
157 test_assert(element.attribute("test") == "1.0", 160 test_assert(element.attribute("test") == "1.0",
@@ -172,16 +175,14 @@ void TestGXml::test_GXml_elements(void) @@ -172,16 +175,14 @@ void TestGXml::test_GXml_elements(void)
172 "Test if element.attribute(\"test\")= 2.0 and if element.attribute(\"test2\")= 1.0", 175 "Test if element.attribute(\"test\")= 2.0 and if element.attribute(\"test2\")= 1.0",
173 "Unexpected attributes "+element.attribute("test")+" "+element.attribute("test2")); 176 "Unexpected attributes "+element.attribute("test")+" "+element.attribute("test2"));
174 177
175 -  
176 - // Exit test 178 + // Return
177 return; 179 return;
178 -  
179 } 180 }
180 181
181 182
182 -/***************************************************************************  
183 - * Test: GXml constructors *  
184 - ***************************************************************************/ 183 +/***********************************************************************//**
  184 + * @brief Test XML constructors
  185 + **************************************************************************/
185 void TestGXml::test_GXml_construct(void) 186 void TestGXml::test_GXml_construct(void)
186 { 187 {
187 // Test void constructor 188 // Test void constructor
@@ -241,33 +242,27 @@ void TestGXml::test_GXml_construct(void) @@ -241,33 +242,27 @@ void TestGXml::test_GXml_construct(void)
241 GXmlNode* spat = src->element("spatialModel", 0); 242 GXmlNode* spat = src->element("spatialModel", 0);
242 spat->append(new GXmlElement("parameter free=\"0\" max=\"1000\" min=\"0.001\"" 243 spat->append(new GXmlElement("parameter free=\"0\" max=\"1000\" min=\"0.001\""
243 " name=\"Prefactor\" scale=\"1\" value=\"1\"")); 244 " name=\"Prefactor\" scale=\"1\" value=\"1\""));
244 - //xml.save("test2.xml");  
245 - //std::cout << xml << std::endl;  
246 -  
247 test_try_success(); 245 test_try_success();
248 } 246 }
249 catch (std::exception &e) { 247 catch (std::exception &e) {
250 test_try_failure(e); 248 test_try_failure(e);
251 } 249 }
252 250
253 - // Exit test 251 + // Return
254 return; 252 return;
255 -  
256 } 253 }
257 254
258 255
259 -/***************************************************************************  
260 - * Test: GXml loading/saving *  
261 - ***************************************************************************/ 256 +/***********************************************************************//**
  257 + * @brief Test XML loading/saving
  258 + **************************************************************************/
262 void TestGXml::test_GXml_load(void) 259 void TestGXml::test_GXml_load(void)
263 { 260 {
264 -  
265 // Test loading 261 // Test loading
266 test_try("Test loading"); 262 test_try("Test loading");
267 try { 263 try {
268 GXml xml; 264 GXml xml;
269 xml.load(m_xml_file); 265 xml.load(m_xml_file);
270 -  
271 test_try_success(); 266 test_try_success();
272 } 267 }
273 catch (std::exception &e) { 268 catch (std::exception &e) {
@@ -281,7 +276,6 @@ void TestGXml::test_GXml_load(void) @@ -281,7 +276,6 @@ void TestGXml::test_GXml_load(void)
281 xml.load(m_xml_file); 276 xml.load(m_xml_file);
282 xml.save("test.xml"); 277 xml.save("test.xml");
283 xml.load("test.xml"); 278 xml.load("test.xml");
284 -  
285 test_try_success(); 279 test_try_success();
286 } 280 }
287 catch (std::exception &e) { 281 catch (std::exception &e) {
@@ -293,80 +287,80 @@ void TestGXml::test_GXml_load(void) @@ -293,80 +287,80 @@ void TestGXml::test_GXml_load(void)
293 try { 287 try {
294 GXml xml; 288 GXml xml;
295 xml.load("test.xml"); 289 xml.load("test.xml");
296 -  
297 test_try_success(); 290 test_try_success();
298 } 291 }
299 catch (std::exception &e) { 292 catch (std::exception &e) {
300 test_try_failure(e); 293 test_try_failure(e);
301 } 294 }
302 295
303 - // Exit test 296 + // Return
304 return; 297 return;
305 -  
306 } 298 }
307 299
308 300
309 -/***************************************************************************  
310 - * Test: GXml element access *  
311 - ***************************************************************************/ 301 +/***********************************************************************//**
  302 + * @brief Test XML element access
  303 + **************************************************************************/
312 void TestGXml::test_GXml_access(void) 304 void TestGXml::test_GXml_access(void)
313 { 305 {
314 // Test root document access 306 // Test root document access
315 GXml xml; 307 GXml xml;
316 xml.load(m_xml_file); 308 xml.load(m_xml_file);
317 -  
318 test_assert(xml.children() == 3, 309 test_assert(xml.children() == 3,
319 "Test if xml.children()==3", 310 "Test if xml.children()==3",
320 "Unexpected number of children in document "+str(xml.children())); 311 "Unexpected number of children in document "+str(xml.children()));
321 312
322 - for (int i = 0; i < xml.children(); ++i) 313 + // Test node access
  314 + for (int i = 0; i < xml.children(); ++i) {
323 GXmlNode* ptr = xml.child(i); 315 GXmlNode* ptr = xml.child(i);
324 - 316 + }
325 test_assert(xml.elements() == 1, 317 test_assert(xml.elements() == 1,
326 "Test if xml.elements()==1", 318 "Test if xml.elements()==1",
327 "Unexpected number of child elements in document "+str(xml.elements())); 319 "Unexpected number of child elements in document "+str(xml.elements()));
328 320
329 - for (int i = 0; i < xml.elements(); ++i) 321 + // Test node access
  322 + for (int i = 0; i < xml.elements(); ++i) {
330 GXmlNode* ptr = xml.element(i); 323 GXmlNode* ptr = xml.element(i);
331 - 324 + }
332 test_assert( xml.elements("source_library") == 1, 325 test_assert( xml.elements("source_library") == 1,
333 "Test if the source_library = 1", 326 "Test if the source_library = 1",
334 "Unexpected number of child elements in document "+str(xml.elements("source_library"))); 327 "Unexpected number of child elements in document "+str(xml.elements("source_library")));
335 328
  329 + // Test element access
336 for (int i = 0; i < xml.elements("source_library"); ++i) { 330 for (int i = 0; i < xml.elements("source_library"); ++i) {
337 GXmlElement* ptr = xml.element("source_library", i); 331 GXmlElement* ptr = xml.element("source_library", i);
338 test_assert(ptr->name() == "source_library","Test name","Unexpected element name "+ptr->name()); 332 test_assert(ptr->name() == "source_library","Test name","Unexpected element name "+ptr->name());
339 } 333 }
340 - //std::cout << xml.elements("source_library") << std::endl;  
341 334
342 335
343 - // Exit test 336 + // Return
344 return; 337 return;
345 -  
346 } 338 }
347 339
348 340
349 /*************************************************************************** 341 /***************************************************************************
350 - * Main test function * 342 + * @brief Main entry point for test executable
351 ***************************************************************************/ 343 ***************************************************************************/
352 int main(void) 344 int main(void)
353 { 345 {
354 - GTestSuites testsuites("GXml"); 346 + // Allocate test suit container
  347 + GTestSuites testsuites("XML module");
355 348
356 - bool was_successful=true; 349 + // Initially assume that we pass all tests
  350 + bool success = true;
357 351
358 - //Create a test suite 352 + // Create a test suite
359 TestGXml test; 353 TestGXml test;
360 354
361 - //Append to the container 355 + // Append test suite to the container
362 testsuites.append(test); 356 testsuites.append(test);
363 357
364 - //Run  
365 - was_successful=testsuites.run(); 358 + // Run the testsuites
  359 + success = testsuites.run();
366 360
367 - //save xml report 361 + // Save test report
368 testsuites.save("reports/GXml.xml"); 362 testsuites.save("reports/GXml.xml");
369 363
370 - // Return  
371 - return was_successful ? 0:1; 364 + // Return success status
  365 + return (success ? 0 : 1);
372 } 366 }
test/test_GXml.hpp
1 /*************************************************************************** 1 /***************************************************************************
2 - * test_GXml.hpp - test xml class * 2 + * test_GXml.hpp - Test xml module *
3 * ----------------------------------------------------------------------- * 3 * ----------------------------------------------------------------------- *
4 * copyright (C) 2012 by Jean-Baptiste Cayrou * 4 * copyright (C) 2012 by Jean-Baptiste Cayrou *
5 * ----------------------------------------------------------------------- * 5 * ----------------------------------------------------------------------- *
@@ -18,32 +18,42 @@ @@ -18,32 +18,42 @@
18 * along with this program. If not, see <http://www.gnu.org/licenses/>. * 18 * along with this program. If not, see <http://www.gnu.org/licenses/>. *
19 * * 19 * *
20 ***************************************************************************/ 20 ***************************************************************************/
  21 +/**
  22 + * @file test_GXml.hpp
  23 + * @brief Definition of unit tests for XML module
  24 + * @author Jean-Baptiste Cayrou
  25 + */
21 26
22 #ifndef TEST_GXML_HPP 27 #ifndef TEST_GXML_HPP
23 #define TEST_GXML_HPP 28 #define TEST_GXML_HPP
24 29
25 /* __ Includes ___________________________________________________________ */ 30 /* __ Includes ___________________________________________________________ */
26 #include "GammaLib.hpp" 31 #include "GammaLib.hpp"
27 -#include <iostream> // cout, cerr  
28 -  
29 -class TestGXml : public GTestSuite  
30 -{  
31 - public:  
32 - // Constructors and destructors  
33 - TestGXml(void) : GTestSuite(){ return; }  
34 - virtual ~TestGXml(void){ return; }  
35 -  
36 - // Methods  
37 - virtual void set(void);  
38 - void test_GXml_attributes(void);  
39 - void test_GXml_elements();  
40 - void test_GXml_construct();  
41 - void test_GXml_load();  
42 - void test_GXml_access();  
43 32
  33 +
  34 +/***********************************************************************//**
  35 + * @class TestGXml
  36 + *
  37 + * @brief Test suite for XML module
  38 + ***************************************************************************/
  39 +class TestGXml : public GTestSuite {
  40 +
  41 +public:
  42 + // Constructors and destructors
  43 + TestGXml(void) : GTestSuite() {}
  44 + virtual ~TestGXml(void) {}
  45 +
  46 + // Methods
  47 + virtual void set(void);
  48 + void test_GXml_attributes(void);
  49 + void test_GXml_elements(void);
  50 + void test_GXml_construct(void);
  51 + void test_GXml_load(void);
  52 + void test_GXml_access(void);
  53 +
  54 +private:
44 // Private members 55 // Private members
45 - private:  
46 - std::string m_xml_file; 56 + std::string m_xml_file; //!< XML filename
47 }; 57 };
48 58
49 #endif /* TEST_GXML_HPP */ 59 #endif /* TEST_GXML_HPP */