13#include "FppTest/array/EnumArrayAc.hpp"
14#include "FppTest/array/StringArrayAc.hpp"
15#include "FppTest/array/StructArrayAc.hpp"
16#include "FppTest/array/Uint32ArrayArrayAc.hpp"
17#include "FppTest/array/String100ArrayAc.hpp"
23#include "STest/Random/Random.hpp"
24#include "gtest/gtest.h"
37void FppTest::Array::setDefaultVals<Enum>(E (&a)[Enum::SIZE]) {
45void FppTest::Array::setTestVals<Enum>(E (&a)[Enum::SIZE]) {
46 a[0] =
static_cast<E::T
>(STest::Pick::startLength(
51 for (U32 i = 1; i < Enum::SIZE; i++) {
52 a[i] =
static_cast<E::T
>(STest::Pick::startLength(
60void FppTest::Array::setTestVals<String>
61 (::String::StringSize80 (&a)[::String::SIZE]) {
63 for (U32 i = 0; i < ::String::SIZE; i++) {
70void FppTest::Array::setTestVals<Struct>(S (&a)[Struct::SIZE]) {
72 for (U32 i = 0; i < Struct::SIZE; i++) {
73 for (U32 j = 0; j < 3; j++) {
81void FppTest::Array::setTestVals<Uint32Array>(Uint32 (&a)[Uint32Array::SIZE]) {
83 for (U32 i = 0; i < Uint32Array::SIZE; i++) {
84 for (U32 j = 0; j < Uint32::SIZE; j++) {
93Enum FppTest::Array::getMultiElementConstructedArray<Enum>
94 (E (&a)[Enum::SIZE]) {
95 return Enum(a[0], a[1], a[2]);
99::String FppTest::Array::getMultiElementConstructedArray<::String>
100 (::String::StringSize80 (&a)[::String::SIZE]) {
101 return ::String(a[0], a[1], a[2]);
105Struct FppTest::Array::getMultiElementConstructedArray<Struct>
106 (S (&a)[Struct::SIZE]) {
107 return Struct(a[0], a[1], a[2]);
111Uint32Array FppTest::Array::getMultiElementConstructedArray<Uint32Array>
112 (Uint32 (&a)[Uint32Array::SIZE]) {
113 return Uint32Array(a[0], a[1], a[2]);
118U32 FppTest::Array::getSerializedSize<::String>
119 (::String::StringSize80 (&a)[::String::SIZE]) {
120 U32 serializedSize = 0;
122 for (U32 i = 0; i < ::String::SIZE; i++) {
126 return serializedSize;
131 String::StringSize80,
132 String100::StringSize100
137U32 FppTest::String::getSize<String100::StringSize100>() {
141int main(
int argc,
char* argv[]) {
142 ::testing::InitGoogleTest(&argc, argv);
143 STest::Random::seed();
145 return RUN_ALL_TESTS();
int main(int argc, char *argv[])
::testing::Types< Enum, String, Struct, Uint32Array > ArrayTestImplementations
INSTANTIATE_TYPED_TEST_SUITE_P(FppTest, ArrayTest, ArrayTestImplementations)
::testing::Types< String::StringSize80, String100::StringSize100 > StringTestImplementations
void setString(char *buf, U32 size)