UFO: Alien Invasion
 All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Modules Pages
test_shared.cpp File Reference

Shared code for unittests. More...

#include "test_shared.h"
#include "../client/cl_renderer.h"
#include "../client/cl_lua.h"
#include "../client/battlescape/cl_particle.h"
#include "../client/ui/ui_main.h"
#include <stdio.h>
#include <stdarg.h>

Go to the source code of this file.

Data Structures

struct  test_property_s
 

Macros

#define PROPERTY_HASH_SIZE   32
 
#define MAX_PROPERTY_NAME   32
 

Typedefs

typedef struct test_property_s test_property_t
 

Functions

void TEST_Shutdown (void)
 
void TEST_vPrintfSilent (const char *fmt, va_list argptr)
 
void TEST_vPrintf (const char *fmt, va_list argptr)
 
void TEST_Init (void)
 
void TEST_RegisterProperty (const char *name, const char *value)
 
static const test_property_tTEST_GetProperty (const char *name)
 
bool TEST_ExistsProperty (const char *name)
 
const char * TEST_GetStringProperty (const char *name)
 
int TEST_GetIntProperty (const char *name)
 
long TEST_GetLongProperty (const char *name)
 

Variables

static test_property_ttest_property
 
static test_property_ttest_property_hash [PROPERTY_HASH_SIZE]
 

Detailed Description

Shared code for unittests.

Definition in file test_shared.cpp.

Macro Definition Documentation

#define MAX_PROPERTY_NAME   32

Definition at line 108 of file test_shared.cpp.

#define PROPERTY_HASH_SIZE   32

Definition at line 106 of file test_shared.cpp.

Referenced by TEST_GetProperty(), and TEST_RegisterProperty().

Typedef Documentation

Function Documentation

bool TEST_ExistsProperty ( const char *  name)

Test if a property from global test structure exists

Parameters
nameName of the property
Returns
True if the property exists

Definition at line 175 of file test_shared.cpp.

References TEST_GetProperty().

Referenced by TEST_F(), GameTest::testCountSpawnpointsForMap(), GameTest::testCountSpawnpointsForMapWithAssembly(), GameTest::testCountSpawnpointsForMapWithAssemblyAndAircraft(), and GameTest::testCountSpawnpointsForMapWithAssemblyAndAircraftAndUfo().

int TEST_GetIntProperty ( const char *  name)

Get a property value from global test structure

Parameters
nameName of the property
Returns
A property value, else 0 if property not found.

Definition at line 200 of file test_shared.cpp.

References Com_Printf(), TEST_GetProperty(), and test_property_s::value.

long TEST_GetLongProperty ( const char *  name)

Get a property value from global test structure

Parameters
nameName of the property
Returns
A property value, else 0 if property not found.

Definition at line 215 of file test_shared.cpp.

References Com_Printf(), TEST_GetProperty(), and test_property_s::value.

Referenced by TEST_F().

static const test_property_t* TEST_GetProperty ( const char *  name)
static

Get a property name from global test structure

Parameters
nameName of the property
Returns
A property element, else nullptr if property not found.

Definition at line 156 of file test_shared.cpp.

References Com_HashKey(), hash, test_property_s::hash_next, test_property_s::name, PROPERTY_HASH_SIZE, and Q_strcasecmp.

Referenced by TEST_ExistsProperty(), TEST_GetIntProperty(), TEST_GetLongProperty(), and TEST_GetStringProperty().

const char* TEST_GetStringProperty ( const char *  name)

Get a property value from global test structure

Parameters
nameName of the property
Returns
A property value, else nullptr if property not found.

Definition at line 185 of file test_shared.cpp.

References Com_Printf(), TEST_GetProperty(), and test_property_s::value.

Referenced by WebApiTest::SetUpTestCase(), TEST_F(), GameTest::testCountSpawnpointsForMap(), GameTest::testCountSpawnpointsForMapWithAssembly(), GameTest::testCountSpawnpointsForMapWithAssemblyAndAircraft(), and GameTest::testCountSpawnpointsForMapWithAssemblyAndAircraftAndUfo().

void TEST_RegisterProperty ( const char *  name,
const char *  value 
)

Register a property name-value to a global structure for all tests

Parameters
nameName of the property
valueValue of the property. Only the pointer of the value is used. Use it ONLY with stable memory.

TODO maybe copy the value instead of copying the pointer of the value

Definition at line 125 of file test_shared.cpp.

References Com_HashKey(), Com_Printf(), hash, test_property_s::hash_next, test_property_s::name, test_property_s::next, PROPERTY_HASH_SIZE, Q_streq, Q_strncpyz(), test_property, and test_property_s::value.

Referenced by Test_Parameters().

void TEST_vPrintf ( const char *  fmt,
va_list  argptr 
)

Definition at line 62 of file test_shared.cpp.

References Q_vsnprintf().

Referenced by main().

void TEST_vPrintfSilent ( const char *  fmt,
va_list  argptr 
)

Definition at line 58 of file test_shared.cpp.

Referenced by main().

Variable Documentation

test_property_t* test_property
static

Definition at line 117 of file test_shared.cpp.

Referenced by TEST_RegisterProperty().

test_property_t* test_property_hash[PROPERTY_HASH_SIZE]
static

Definition at line 118 of file test_shared.cpp.