1 // -*- mode:C++; tab-width:8; c-basic-offset:2; indent-tabs-mode:nil -*-
2 // vim: ts=8 sw=2 smarttab expandtab
8 #include <gtest/gtest.h>
10 #include "common/options.h"
14 TEST(Option
, validate_min_max
)
16 auto opt
= Option
{"foo", Option::TYPE_MILLISECS
, Option::LEVEL_ADVANCED
}
18 .set_min_max(10, 128);
30 for (auto& test
: tests
) {
31 Option::value_t new_value
= std::chrono::milliseconds
{test
.new_val
};
33 GTEST_ASSERT_EQ(test
.expected_retval
, opt
.validate(new_value
, &err
));
39 auto opt
= Option
{"foo", Option::TYPE_MILLISECS
, Option::LEVEL_ADVANCED
}
41 .set_min_max(10, 128);
45 unsigned expected_parsed_val
;
54 for (auto& test
: tests
) {
55 Option::value_t parsed_val
;
57 GTEST_ASSERT_EQ(test
.expected_retval
,
58 opt
.parse_value(test
.new_val
, &parsed_val
, &err
));
59 if (test
.expected_retval
== 0) {
60 Option::value_t expected_parsed_val
=
61 std::chrono::milliseconds
{test
.expected_parsed_val
};
62 GTEST_ASSERT_EQ(parsed_val
, expected_parsed_val
);
69 * compile-command: "cd ../../../build ;
70 * ninja unittest_option && bin/unittest_option