Commit 8d5e79d3 authored by Giovanni La Mura's avatar Giovanni La Mura
Browse files

Set up a testing folder

parent 6ba7dd3e
Loading
Loading
Loading
Loading
+1 −0
Original line number Diff line number Diff line
build/include
build/cluster/*
build/sphere/*
build/testing/*
build/trapping/*
doc/build/*
src/objects/*
 No newline at end of file

build/testing/.gitkeep

0 → 100644
+0 −0

Empty file added.

+63 −0
Original line number Diff line number Diff line
//! \file test_TEDF.cpp

#include <complex>
#include <cstdio>
#include <hdf5.h>
#include <string>
#include "../include/List.h"
#include "../include/file_io.h"
#include "../include/Configuration.h"

using namespace std;

/*! \brief Main program execution body.
 *
 * This program executes a test to compare whether three configuration
 * instances, loaded respectively from an EDFB configuration file, a
 * legacy binary, or a HDF5 binary are actually equivalent. The test
 * writes a result message to `stdout` then it returns 0 (OS flag for
 * a successful process) or some kind of error code, depending on
 * whether the test files were found all equal or not. The test accepts
 * three command line arguments: the name of the EDFB configuration
 * file, the name of the legacy binary file and the name of the HDF5
 * binary configuration file.
 *
 * \param argc: `int` Number of command line arguments
 * \param argv: `char **` Array of command argument character strings.
 * \return result: `int` Can be: 0 (all files equal); 1 (EDFB and
 * legacy binary are different); 10 (EDFB and HDF5 are different);
 * 100 (legacy and HDF5 are different). In case more differences are
 * found, the error codes sum up together (e.g. 111 means all files
 * are different).
 */
int main(int argc, char **argv) {
  int result = 0;
  string dedfb_file = "DEDFB";
  string legacy_file = "c_TEDF";
  string hdf5_file = "c_TEDF.hd5";
  if (argc == 4) {
    dedfb_file = string(argv[1]);
    legacy_file = string(argv[2]);
    hdf5_file = string(argv[3]);
  }
  ScattererConfiguration *a, *b, *c;
  a = ScattererConfiguration::from_dedfb(dedfb_file);
  b = ScattererConfiguration::from_binary(legacy_file);
  c = ScattererConfiguration::from_binary(hdf5_file, "HDF5");
  if (*a == *b) printf("Configuration objects a and b are equal.\n");
  else {
    printf("Configuration objects a and b are different.\n");
    result += 1;
  }
  if (*a == *c) printf("Configuration objects a and c are equal.\n");
  else {
    printf("Configuration objects a and c are different.\n");
    result += 10;
  }
  if (*c == *b) printf("Configuration objects c and b are equal.\n");
  else {
    printf("Configuration objects c and b are different.\n");
    result += 100;
  }
  return 0;
}
+44 −0
Original line number Diff line number Diff line
//! \file test_TTMS.cpp

#include <complex>
#include <cstdio>
#include <hdf5.h>
#include <string>
#include "../include/List.h"
#include "../include/file_io.h"
#include "../include/TransitionMatrix.h"

using namespace std;

/*! \brief Main program execution body.
 *
 * This program executes a test to compare whether two transition
 * matrix instances, loaded respectively from a legacy and a HDF5
 * binary file are actually equivalent. The test writes a result
 * message to `stdout` then it returns 0 (OS flag for a successful
 * process) or 1 (OS flag for failing process) depending on whether
 * the two instances were considered equivalent or not.
 *
 * \param argc: `int` Number of command line arguments
 * \param argv: `char **` Array of command argument character strings.
 * \return result: `int` Can be 0 (files are equal) or 1 (files are
 * different).
 */
int main(int argc, char **argv) {
  int result = 0;
  TransitionMatrix *a, *b;
  string legacy_file = "c_TTMS";
  string hdf5_file = "c_TTMS.hd5";
  if (argc == 3) {
    legacy_file = string(argv[1]);
    hdf5_file = string(argv[2]);
  }
  a = TransitionMatrix::from_binary(legacy_file);
  b = TransitionMatrix::from_binary(hdf5_file, "HDF5");
  if (*a == *b) printf("Transition matrixes a and b are equal.\n");
  else {
    printf("Transition matrixes a and b are different.\n");
    result = 1;
  }
  return result;
}