Files
EPANET/tests/util/test_filemanager.cpp
2025-05-10 14:21:32 +03:00

98 lines
2.1 KiB
C++

/*
******************************************************************************
Project: OWA EPANET
Version: 2.3
Module: util/test_filemanager.cpp
Description: Tests for util/filemanager.c
Authors: see AUTHORS
Copyright: see AUTHORS
License: see LICENSE
Last Updated: 04/01/2019
******************************************************************************
*/
#define BOOST_TEST_MODULE filemanager
#include <boost/test/unit_test.hpp>
#include <boost/filesystem.hpp>
#include "util/filemanager.h"
#define DATA_PATH_OUTPUT "./example1.out"
boost::test_tools::predicate_result check_string(std::string test, std::string ref)
{
if (ref.compare(test) == 0)
return true;
else
return false;
}
BOOST_AUTO_TEST_SUITE(test_filemanager)
BOOST_AUTO_TEST_CASE (test_create_destroy)
{
file_handle_t *file_handle = NULL;
file_handle = create_file_manager();
BOOST_CHECK(file_handle != NULL);
BOOST_CHECK(is_valid(file_handle) == true);
delete_file_manager(file_handle);
}
BOOST_AUTO_TEST_CASE(test_open_close)
{
int error = 0;
file_handle_t *file_handle = NULL;
file_handle = create_file_manager();
BOOST_CHECK(file_handle != NULL);
error = open_file(file_handle, DATA_PATH_OUTPUT, "rb");
BOOST_REQUIRE(error == 0);
BOOST_CHECK(is_valid(file_handle) == true);
error = close_file(file_handle);
BOOST_REQUIRE(error == 0);
delete_file_manager(file_handle);
}
struct Fixture{
Fixture() {
error = 0;
file_handle = NULL;
file_handle = create_file_manager();
open_file(file_handle, NULL, "wt");
}
~Fixture() {
close_file(file_handle);
delete_file_manager(file_handle);
}
int error;
file_handle_t *file_handle;
};
BOOST_FIXTURE_TEST_CASE(test_temp_file, Fixture)
{
char *filename;
printf_file(file_handle, "%s", "This is a test.");
error = get_filename(file_handle, &filename);
BOOST_REQUIRE(error == 0);
BOOST_CHECK(is_valid(file_handle) == true);
BOOST_CHECK(boost::filesystem::exists(filename) == true);
free(filename);
}
BOOST_AUTO_TEST_SUITE_END()