13#include "FppTest/enum/ImplicitEnumAc.hpp"
14#include "FppTest/enum/ExplicitEnumAc.hpp"
15#include "FppTest/enum/DefaultEnumAc.hpp"
16#include "FppTest/enum/IntervalEnumAc.hpp"
17#include "FppTest/enum/SerializeTypeU8EnumAc.hpp"
18#include "FppTest/enum/SerializeTypeU64EnumAc.hpp"
22#include "STest/Random/Random.hpp"
23#include "gtest/gtest.h"
40Explicit::T FppTest::Enum::getDefaultValue<Explicit>() {
45Default::T FppTest::Enum::getDefaultValue<Default>() {
51Explicit::T FppTest::Enum::getValidValue<Explicit>() {
52 U32 val = STest::Pick::startLength(0, Explicit::NUM_CONSTANTS);
55 case 0:
return Explicit::A;
56 case 1:
return Explicit::B;
57 default:
return Explicit::C;
62Interval::T FppTest::Enum::getValidValue<Interval>() {
63 U32 val = STest::Pick::startLength(0, Interval::NUM_CONSTANTS);
66 case 0:
return Interval::A;
67 case 1:
return Interval::B;
68 case 2:
return Interval::C;
69 case 3:
return Interval::D;
70 case 4:
return Interval::E;
71 case 5:
return Interval::F;
72 default:
return Interval::G;
78Explicit::T FppTest::Enum::getInvalidValue<Explicit>() {
79 U32 sign = STest::Pick::lowerUpper(0, 1);
83 return static_cast<Explicit::T
>(STest::Pick::lowerUpper(
85 std::numeric_limits<Explicit::SerialType>::max()
88 return static_cast<Explicit::T
>(STest::Pick::lowerUpper(
89 (Explicit::A - 1) * (-1),
90 std::numeric_limits<Explicit::SerialType>::max()
96Interval::T FppTest::Enum::getInvalidValue<Interval>() {
97 return static_cast<Interval::T
>(STest::Pick::lowerUpper(
99 std::numeric_limits<Interval::SerialType>::max()
103int main(
int argc,
char* argv[]) {
104 ::testing::InitGoogleTest(&argc, argv);
105 STest::Random::seed();
107 return RUN_ALL_TESTS();
int main(int argc, char *argv[])
INSTANTIATE_TYPED_TEST_SUITE_P(FppTest, ArrayTest, ArrayTestImplementations)
::testing::Types< Implicit, Explicit, Default, Interval, SerializeTypeU8, SerializeTypeU64 > EnumTestImplementations