-
Notifications
You must be signed in to change notification settings - Fork 73
/
default_traits_test.cpp
40 lines (31 loc) · 1.07 KB
/
default_traits_test.cpp
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
// Copyright (c) Team CharLS.
// SPDX-License-Identifier: BSD-3-Clause
#include "pch.hpp"
#include "../src/default_traits.hpp"
using Microsoft::VisualStudio::CppUnitTestFramework::Assert;
namespace charls::test {
TEST_CLASS(default_traits_test)
{
public:
TEST_METHOD(create) // NOLINT
{
const default_traits<uint8_t, uint8_t> traits((1 << 8) - 1, 0);
Assert::AreEqual(255, traits.maximum_sample_value);
Assert::AreEqual(256, traits.range);
Assert::AreEqual(0, traits.near_lossless);
Assert::AreEqual(8, traits.quantized_bits_per_sample);
Assert::AreEqual(8, traits.bits_per_sample);
Assert::AreEqual(32, traits.limit);
}
TEST_METHOD(modulo_range) // NOLINT
{
const default_traits<uint8_t, uint8_t> traits(24, 0);
for (int i{-25}; i != 26; ++i)
{
const auto error_value{traits.modulo_range(i)};
constexpr int range{24 + 1};
Assert::IsTrue(-range / 2 <= error_value && error_value <= ((range + 1) / 2) - 1);
}
}
};
} // namespace charls::test