File: test_compression_factory.cpp

package info (click to toggle)
libosmium 2.23.0-2
  • links: PTS, VCS
  • area: main
  • in suites: sid
  • size: 4,564 kB
  • sloc: cpp: 53,570; sh: 148; makefile: 19
file content (22 lines) | stat: -rw-r--r-- 1,011 bytes parent folder | download | duplicates (6)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
#include "catch.hpp"

#include <osmium/io/compression.hpp>

TEST_CASE("Create compressor using factory") {
    const auto& factory = osmium::io::CompressionFactory::instance();
    REQUIRE(factory.create_compressor(osmium::io::file_compression::none, -1, osmium::io::fsync::no));
}

TEST_CASE("Create decompressor using factory") {
    const auto& factory = osmium::io::CompressionFactory::instance();
    REQUIRE(factory.create_decompressor(osmium::io::file_compression::none, nullptr, 0));
}

TEST_CASE("Compression factory fails on undefined compression") {
    const auto& factory = osmium::io::CompressionFactory::instance();
    REQUIRE_THROWS_AS(factory.create_compressor(osmium::io::file_compression::gzip, -1, osmium::io::fsync::no),
                      osmium::unsupported_file_format_error);
    REQUIRE_THROWS_WITH(factory.create_compressor(osmium::io::file_compression::gzip, -1, osmium::io::fsync::no),
                        "Support for compression 'gzip' not compiled into this binary");
}