#include <SDL_types.h>
#include "SDL_visualtest_sut_configparser.h"
#ifndef SDL_visualtest_variator_common_h_
#define SDL_visualtest_variator_common_h_
#define SDL_SUT_INTEGER_OPTION_TEST_STEPS 3
#ifdef __cplusplus
extern "C" {
#endif
typedef enum SDLVisualTest_VariatorType
{
SDL_VARIATOR_NONE = 0,
SDL_VARIATOR_EXHAUSTIVE,
SDL_VARIATOR_RANDOM
} SDLVisualTest_VariatorType;
typedef union SDLVisualTest_SUTOptionValue
{
SDL_bool bool_value;
struct {
int value;
SDL_bool on;
} integer;
struct {
int index;
SDL_bool on;
} enumerated;
struct {
char* value;
SDL_bool on;
} string;
} SDLVisualTest_SUTOptionValue;
typedef struct SDLVisualTest_Variation
{
SDLVisualTest_SUTOptionValue* vars;
int num_vars;
} SDLVisualTest_Variation;
int SDLVisualTest_NextValue(SDLVisualTest_SUTOptionValue* var,
SDLVisualTest_SUTOption* opt);
int SDLVisualTest_MakeStrFromVariation(SDLVisualTest_Variation* variation,
SDLVisualTest_SUTConfig* config,
char* buffer, int size);
int SDLVisualTest_InitVariation(SDLVisualTest_Variation* variation,
SDLVisualTest_SUTConfig* config);
#ifdef __cplusplus
}
#endif
#endif