123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293 |
- /* See COPYING.txt for the full license governing this code. */
- /**
- * \file variators.c
- *
- * Source file for the operations that act on variators.
- */
- #include <SDL_test.h>
- #include "SDL_visualtest_variators.h"
- int
- SDLVisualTest_InitVariator(SDLVisualTest_Variator* variator,
- SDLVisualTest_SUTConfig* config,
- SDLVisualTest_VariatorType type,
- Uint64 seed)
- {
- if(!variator)
- {
- SDLTest_LogError("variator argument cannot be NULL");
- return 0;
- }
- if(!config)
- {
- SDLTest_LogError("config argument cannot be NULL");
- return 0;
- }
- variator->type = type;
- switch(type)
- {
- case SDL_VARIATOR_EXHAUSTIVE:
- return SDLVisualTest_InitExhaustiveVariator(&variator->data.exhaustive,
- config);
- break;
- case SDL_VARIATOR_RANDOM:
- return SDLVisualTest_InitRandomVariator(&variator->data.random,
- config, seed);
- break;
- default:
- SDLTest_LogError("Invalid value for variator type");
- return 0;
- }
- return 0;
- }
- char*
- SDLVisualTest_GetNextVariation(SDLVisualTest_Variator* variator)
- {
- if(!variator)
- {
- SDLTest_LogError("variator argument cannot be NULL");
- return NULL;
- }
- switch(variator->type)
- {
- case SDL_VARIATOR_EXHAUSTIVE:
- return SDLVisualTest_GetNextExhaustiveVariation(&variator->data.exhaustive);
- break;
- case SDL_VARIATOR_RANDOM:
- return SDLVisualTest_GetNextRandomVariation(&variator->data.random);
- break;
- default:
- SDLTest_LogError("Invalid value for variator type");
- return NULL;
- }
- return NULL;
- }
- void SDLVisualTest_FreeVariator(SDLVisualTest_Variator* variator)
- {
- if(!variator)
- {
- SDLTest_LogError("variator argument cannot be NULL");
- return;
- }
- switch(variator->type)
- {
- case SDL_VARIATOR_EXHAUSTIVE:
- SDLVisualTest_FreeExhaustiveVariator(&variator->data.exhaustive);
- break;
- case SDL_VARIATOR_RANDOM:
- SDLVisualTest_FreeRandomVariator(&variator->data.random);
- break;
- default:
- SDLTest_LogError("Invalid value for variator type");
- }
- }
|