#ifndef _CUNITTEST_ENGINE_H_
#define _CUNITTEST_ENGINE_H_
/*
* File Name: cuteng.h
* Author: Seree Rakwong
* Date: 9-NOV-2017
*/
#include <stdio.h>
enum const_operation_enum
{
kEQ = 0, /* == */
kLT, /* < */
kLE, /* <= */
kGT, /* > */
kGE, /* >= */
kNE, /* != */
kAND, /* && */
kOR, /* || */
kNOT, /* ! */
kXOR, /* ^ */
kEQS, /* strcmp == 0 */
kLTS, /* strcmp < 0 */
kGTS, /* strcmp > 0 */
kNES /* strcmp != 0 */
};
typedef long (*unit_test_fn)(char*);
typedef long (*unit_test_parms_fn)(char*, void*);
struct unit_test_s
{
char alias[64];
unit_test_fn func;
int operation;
long expected;
};
typedef struct unit_test_s unit_test_t;
struct unit_test_parms_s
{
char* alias;
unit_test_parms_fn func;
void* args;
int operation;
long expected;
};
typedef struct unit_test_parms_s unit_test_parms_t;
struct results_s
{
int passed_cases;
int failed_cases;
};
typedef struct results_s results_t;
void run_test( char *title, unit_test_t* test_cases );
void run_test_params( char *title, unit_test_parms_t* test_cases );
void run_test_to_file( FILE* fp, char *title, unit_test_parms_t* test_cases );
void run_test_to_html( FILE* fp, char *title, unit_test_parms_t* test_cases );
#define BEGIN_UNIT_TEST( test_case, test_type ) \
test_type test_case[] = \
{
#define BEGIN_UNIT_TEST_INT( test_case ) \
unit_test_t test_case[] = \
{
#define ON_UNIT_TEST( alias, func, op, val ) \
{ alias, func, op, val },
#define END_UNIT_TEST() \
{ "", 0, 0, 0L } /* end of test cases */ \
};
#define BEGIN_UNIT_TEST_PARAMS( test_case ) \
unit_test_parms_t test_case[] = \
{
#define ON_UNIT_TEST_PARAMS( alias, func, args, op, val ) \
{ alias, func, args, op, val },
#define END_UNIT_TEST_PARAMS() \
{ "", 0, 0, 0, 0L } /* end of test cases */ \
};
#define RUN_TEST( alias, test_case ) \
run_test( alias, test_case );
#define RUN_TEST_PARAMS( alias, test_case ) \
run_test_params( alias, test_case );
#define RUN_TEST_FILE( fp, alias, test_case ) \
run_test_to_file( fp, alias, test_case );
#define RUN_TEST_HTML( fp, alias, test_case ) \
run_test_to_html( fp, alias, test_case );
#define BEGIN_RUN_TEST_FILE(fp, fname) \
{ \
char buffer[64]; \
if ( fp == NULL ) \
{ \
sprintf( buffer, "./log/%s", fname ); \
fp = fopen( buffer, "w+" ); \
}
#define END_RUN_TEST_FILE(fp) \
fflush( fp ); \
fclose( fp ); \
}
#define BEGIN_RUN_TEST_HTML(fp, fname) \
{ \
char buffer[64]; \
if ( fp == NULL ) \
{ \
sprintf( buffer, "./log/%s", fname ); \
fp = fopen( buffer, "w+" ); \
} \
fprintf( fp, "<!DOCTYPE html><html><body>" ); \
fprintf( fp, "<head><style>" \
"#reports {font-family:\"Trebuchet MS\",Arial,Helvetica,sans-serif;border-collapse:collapse;width:100%%;}" \
"#reports td,#reports th{border:1px solid #ddd;padding:8px;}" \
"#reports tr:nth-child(even){background-color:#f2f2f2;}" \
"#reports tr:hover{background-color:#ddd;}" \
"#reports th{padding-top:12px;padding-bottom:12px;text-align:center;background-color:#4CAF50;color:white;}" \
"#reports th.passed{padding-top:12px;padding-bottom:12px;text-align:center;background-color:#4CAF50;color:white;}" \
"#reports th.failed{padding-top:12px;padding-bottom:12px;text-align:center;background-color:#AF4C50;color:white;}" \
"</style></head>" ); \
fflush( fp );
#define END_RUN_TEST_HTML(fp) \
fprintf( fp, "</body></html>" ); \
fflush( fp ); \
fclose( fp ); \
}
void dump_bin( FILE* fp, char* bin, int len );
#endif /* _CUNITTEST_ENGINE_H_ */
/*
* File Name: cuteng.c
* Author: Seree Rakwong
* Date: 9-NOV-2017
*/
#include "cuteng.h"
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
char* op_to_str[] =
{
"EQ ",
"LT ",
"LE ",
"GT ",
"GE ",
"NE ",
"AND",
"OR ",
"NOT",
"XOR",
"EQS",
"LTS",
"GTS",
"NES",
0
};
void run_test( char *title, unit_test_t* test_cases )
{
int i = 0;
long rc = 0;
long rc2 = 0;
results_t results = { 0, 0 };
char line_break[] = "---------------------------------------------------"
"---------------------------------------------------";
/* title */
printf( "\n\n" );
printf( "%s\n", line_break );
printf( "%*s\n", ( strlen( line_break ) + strlen( title ) ) / 2, title );
printf( "%s\n", line_break );
printf( "%4s %-64s %s %8s %8s %s\n", "No", "Test cases", "Op", "Expected", "Returned", "Result" );
printf( "%s\n", line_break );
for ( ; ; ++i )
{
if ( !test_cases[i].func )
break;
rc = test_cases[i].func( test_cases[i].alias );
switch ( test_cases[i].operation )
{
case kEQ: rc2 = ( rc == test_cases[i].expected ); break;
case kLT: rc2 = ( rc < test_cases[i].expected ); break;
case kLE: rc2 = ( rc <= test_cases[i].expected ); break;
case kGT: rc2 = ( rc > test_cases[i].expected ); break;
case kGE: rc2 = ( rc >= test_cases[i].expected ); break;
case kNE:
default: rc2 = ( rc != test_cases[i].expected ); break;
}
printf( "%4d %-64s %s %8ld %8ld [ %s ]\n",
(i+1),
test_cases[i].alias,
op_to_str[test_cases[i].operation],
test_cases[i].expected,
rc,
( rc2 == 0 ? "failed" : "PASSED" ) );
if ( rc2 == 0 )
{
++results.failed_cases;
}
else
{
++results.passed_cases;
}
}
printf( "%s\n", line_break );
printf( "[PASSED: %4d] | [FAILED: %4d]\n", results.passed_cases, results.failed_cases );
printf( "%s\n", line_break );
}
void run_test_params( char *title, unit_test_parms_t* test_cases )
{
int i = 0;
long rc = 0;
long rc2 = 0;
char alias[64];
results_t results = { 0, 0 };
char line_break[] = "---------------------------------------------------"
"---------------------------------------------------";
/* title */
printf( "\n\n" );
printf( "%s\n", line_break );
printf( "%*s\n", ( strlen( line_break ) + strlen( title ) ) / 2, title );
printf( "%s\n", line_break );
printf( "%4s %-64s %s %8s %8s %s\n", "No", "Test cases", "Op", "Expected", "Returned", "Result" );
printf( "%s\n", line_break );
for ( ; ; ++i )
{
if ( !test_cases[i].func )
break;
rc = test_cases[i].func( test_cases[i].alias, test_cases[i].args );
switch ( test_cases[i].operation )
{
case kEQ: rc2 = ( rc == test_cases[i].expected ); break;
case kLT: rc2 = ( rc < test_cases[i].expected ); break;
case kLE: rc2 = ( rc <= test_cases[i].expected ); break;
case kGT: rc2 = ( rc > test_cases[i].expected ); break;
case kGE: rc2 = ( rc >= test_cases[i].expected ); break;
case kNE:
default: rc2 = ( rc != test_cases[i].expected ); break;
}
strncpy( alias, test_cases[i].alias, 63 );
printf( "%4d %-64s %s %8ld %8ld [ %s ]\n",
(i+1),
alias,
op_to_str[test_cases[i].operation],
test_cases[i].expected,
rc,
( rc2 == 0 ? "failed" : "PASSED" ) );
if ( rc2 == 0 )
{
++results.failed_cases;
}
else
{
++results.passed_cases;
}
}
printf( "%s\n", line_break );
printf( "[PASSED: %4d] | [FAILED: %4d]\n", results.passed_cases, results.failed_cases );
printf( "%s\n", line_break );
}
void run_test_to_file( FILE* fp, char *title, unit_test_parms_t* test_cases )
{
int i = 0;
long rc = 0;
long rc2 = 0;
char alias[64];
results_t results = { 0, 0 };
char line_break[] = "---------------------------------------------------"
"---------------------------------------------------";
/* title */
fprintf( fp, "\n\n" );
fprintf( fp, "%s\n", line_break );
fprintf( fp, "%*s\n", ( strlen( line_break ) + strlen( title ) ) / 2, title );
fprintf( fp, "%s\n", line_break );
fprintf( fp, "%4s %-64s %s %8s %8s %s\n", "No", "Test cases", "Op", "Expected", "Returned", "Result" );
fprintf( fp, "%s\n", line_break );
for ( ; ; ++i )
{
if ( !test_cases[i].func )
break;
rc = test_cases[i].func( test_cases[i].alias, test_cases[i].args );
switch ( test_cases[i].operation )
{
case kEQ: rc2 = ( rc == test_cases[i].expected ); break;
case kLT: rc2 = ( rc < test_cases[i].expected ); break;
case kLE: rc2 = ( rc <= test_cases[i].expected ); break;
case kGT: rc2 = ( rc > test_cases[i].expected ); break;
case kGE: rc2 = ( rc >= test_cases[i].expected ); break;
case kNE:
default: rc2 = ( rc != test_cases[i].expected ); break;
}
strncpy( alias, test_cases[i].alias, 63 );
fprintf( fp, "%4d %-64s %s %8ld %8ld [ %s ]\n",
(i+1),
alias,
op_to_str[test_cases[i].operation],
test_cases[i].expected,
rc,
( rc2 == 0 ? "failed" : "PASSED" ) );
if ( rc2 == 0 )
{
++results.failed_cases;
}
else
{
++results.passed_cases;
}
}
fprintf( fp, "%s\n", line_break );
fprintf( fp, "[PASSED: %4d] | [FAILED: %4d]\n", results.passed_cases, results.failed_cases );
fprintf( fp, "%s\n", line_break );
fflush( fp );
printf( "\n\n" );
printf( "%s\n", line_break );
printf( "%*s\n", ( strlen( line_break ) + strlen( title ) ) / 2, title );
printf( "%s\n", line_break );
printf( "[PASSED: %4d] | [FAILED: %4d]\n", results.passed_cases, results.failed_cases );
printf( "%s\n", line_break );
}
void run_test_to_html( FILE* fp, char *title, unit_test_parms_t* test_cases )
{
int i = 0;
long rc = 0;
long rc2 = 0;
results_t results = { 0, 0 };
char line_break[] = "---------------------------------------------------"
"---------------------------------------------------";
/* title */
fprintf( fp, "<table id=\"reports\"><tr><th colspan=\"6\">%s</th></tr>", title );
fprintf( fp, "<tr><th>%s</th><th>%s</th><th>%s</th><th>%s</th><th>%s</th><th>%s</th></tr>", "No", "Test cases", "Op", "Expected", "Returned", "Result" );
for ( ; ; ++i )
{
if ( !test_cases[i].func )
break;
rc = test_cases[i].func( test_cases[i].alias, test_cases[i].args );
switch ( test_cases[i].operation )
{
case kEQ: rc2 = ( rc == test_cases[i].expected ); break;
case kLT: rc2 = ( rc < test_cases[i].expected ); break;
case kLE: rc2 = ( rc <= test_cases[i].expected ); break;
case kGT: rc2 = ( rc > test_cases[i].expected ); break;
case kGE: rc2 = ( rc >= test_cases[i].expected ); break;
case kNE:
default: rc2 = ( rc != test_cases[i].expected ); break;
}
fprintf( fp, "<tr><td align=\"right\">%d</td><td>%s</td><td>%s</td><td align=\"center\">%ld</td><td align=\"center\">%ld</td><td>%s</td></tr>",
(i+1),
test_cases[i].alias,
op_to_str[test_cases[i].operation],
test_cases[i].expected,
rc,
( rc2 == 0 ? "<span style=\"color:red\">failed</span>" : "<span style=\"color:green\">PASSED</span>" ) );
if ( rc2 == 0 )
{
++results.failed_cases;
}
else
{
++results.passed_cases;
}
}
fprintf( fp,
"<tr><th>PASSED:</th><td colspan=\"5\">%d</td></tr>"
"<tr><th class=\"failed\">FAILED:</th><td colspan=\"5\">%d</td></tr>",
results.passed_cases, results.failed_cases );
fprintf( fp, "</table><br>" );
fflush( fp );
printf( "\n\n" );
printf( "%s\n", line_break );
printf( "%*s\n", ( strlen( line_break ) + strlen( title ) ) / 2, title );
printf( "%s\n", line_break );
printf( "[PASSED: %4d] | [FAILED: %4d]\n", results.passed_cases, results.failed_cases );
printf( "%s\n", line_break );
}
void dump_bin( FILE* fp, char* bin, int len )
{
int i = 0;
int j = 0;
/* parameters or buffer */
for (; i < (int)len; i += 16 )
{
/* address */
fprintf( fp, "%08x ", i );
/* hex */
for( j = 0; j < 16; ++j )
{
if ( i+j >= (int)len )
{
if (j == 8 )
{
fprintf( fp, " " );
}
else
{
fprintf( fp, " " );
}
}
else
{
if (j == 8 )
{
fprintf( fp, " %02X", bin[i+j] & 0xff );
}
else
{
fprintf( fp, " %02X", bin[i+j] & 0xff );
}
}
}
/* characters */
fprintf( fp, " " );
for( j = 0; j < 16; ++j )
{
if ( i+j >= (int)len )
{
fprintf( fp, " " );
}
else
{
if ( bin[i+j] < 0x20 )
{
fprintf( fp, "." );
}
else
{
fprintf( fp, "%c", bin[i+j] & 0xff );
}
}
}
/* next line */
fprintf( fp, "\n" );
}
}
#ifndef __ets_unittest_h__
#define __ets_unittest_h__
/*
*
* File Name: ets_unittest.h
* Author: Seree Rakwong
* Date: 28-NOV-2017
*
*/
#include "etssup_2750.h"
#include "etssup_2775.h"
#include "etssup_2822.h"
#include "etssup_2838.h"
#include "etssup_2954.h"
#include "etssup_3023.h"
#include "etssup_3379.h"
#include "etssup_3552.h"
#include "etssup_3660.h"
#include "etssup_3702.h"
#include "etssup_3707.h"
#include "etssup_3720.h"
#include "etssup_3814.h"
#endif /* __ets_unittest_h__ */
/*
*
* File Name: ets_unittest.c
* Author: Seree Rakwong
* Date: 28-NOV-2017
* Purpose:
* Main entry to run ETS server unit tests
*
*/
#include "msedef.h"
#include "ets_unittest.h"
#include <stdio.h>
DECLARE_PROCEDURE_ID("ets_unittest");
typedef void (*run_test_fn)(char*);
struct test_function_s
{
run_test_fn func;
char title[64];
};
struct test_function_s ets_functions[] =
{
/* ADD THE NEW RUN FUNCTION HERE */
{ etssup_2750_run, "etssup_2750" },
{ etssup_2775_run, "etssup_2775" },
{ etssup_2822_run, "etssup_2822" },
{ etssup_2838_run, "etssup_2838" },
{ etssup_2954_run, "etssup_2954" },
{ etssup_3023_run, "etssup_3023" },
{ etssup_3379_run, "etssup_3379" },
{ etssup_3552_run, "etssup_3552" },
{ etssup_3660_run, "etssup_3660" },
{ etssup_3702_run, "etssup_3702" },
{ etssup_3707_run, "etssup_3707" },
{ etssup_3720_run, "etssup_3720" },
{ etssup_3814_run, "etssup_3814" },
/* DO NOT DELETE THE LAST ELEMENT */
{ 0, "" }
};
int main(int argc, char* argv[])
{
int i = 0;
printf("ETS Unit Test running...\n");
for(;; ++i)
{
if (!ets_functions[i].func)
{
break;
}
ets_functions[i].func(ets_functions[i].title);
}
printf("\nCompleted!!\n");
return 0;
}
#ifndef __etssup_2750_h__
#define __etssup_2750_h__
/*
*
* File Name: etssup_2750.h
* Author: ETS Trading Solution
* Date: Tue Feb 6 15:31:49 GMT 2018
* Purpose:
* Generated by genut
*
*/
void etssup_2750_run(char* title);
#endif /* __etssup_2750_h__ */
/*
*
* File Name: etssup_2750.c
* Author: ETS Trading Solution
* Date: Tue Feb 6 15:31:49 GMT 2018
* Purpose:
* Generated by genut
*
*/
#ifdef __UNIX__
#undef __UNIX__
#define __UNIX
#endif
#include "cuteng.h"
#include "etssup_2750.h"
#include <string.h>
#include <bu_validate.h>
#include <b_boscom.h>
#include <b_usrmap.h>
struct IsAdvOrdRequiredToCheckCrdt_parms_s
{
char cSpecialOrdType;
char cSide;
char cBAdvOrdChkAtKey;
char cSAdvOrdChkAtKey;
unsigned char bPayBitFlag33;
};
long test_IsAdvOrdRequiredToCheckCrdt(char* alias, void* args)
{
long lReturned = 0L;
struct IsAdvOrdRequiredToCheckCrdt_parms_s* params =
(struct IsAdvOrdRequiredToCheckCrdt_parms_s*)args;
lReturned = IsAdvOrdRequiredToCheckCrdt(
params->cSpecialOrdType,
params->cSide,
params->cBAdvOrdChkAtKey,
params->cSAdvOrdChkAtKey,
params->bPayBitFlag33
);
return lReturned;
}
struct IsAdvOrdRequiredToCheckCrdt_parms_s IsAdvOrdRequiredToCheckCrdt_parms[] =
{
{ 'S', 'B', 'N', 'N', BIT33_PAY_ADVORD_CRDTCHK_MODE },
{ 'S', 'B', 'N', 'Y', BIT33_PAY_ADVORD_CRDTCHK_MODE },
{ 'S', 'B', 'Y', 'N', BIT33_PAY_ADVORD_CRDTCHK_MODE },
{ 'S', 'B', 'Y', 'Y', BIT33_PAY_ADVORD_CRDTCHK_MODE },
{ 'T', 'B', 'N', 'N', BIT33_PAY_ADVORD_CRDTCHK_MODE },
{ 'T', 'B', 'N', 'Y', BIT33_PAY_ADVORD_CRDTCHK_MODE },
{ 'T', 'B', 'Y', 'N', BIT33_PAY_ADVORD_CRDTCHK_MODE },
{ 'T', 'B', 'Y', 'Y', BIT33_PAY_ADVORD_CRDTCHK_MODE },
{ 'S', 'B', 'N', 'N', 0x00 },
{ 'S', 'B', 'N', 'Y', 0x00 },
{ 'S', 'B', 'Y', 'N', 0x00 },
{ 'S', 'B', 'Y', 'Y', 0x00 },
{ 'T', 'B', 'N', 'N', 0x00 },
{ 'T', 'B', 'N', 'Y', 0x00 },
{ 'T', 'B', 'Y', 'N', 0x00 },
{ 'T', 'B', 'Y', 'Y', 0x00 },
{ 'S', 'S', 'N', 'N', BIT33_PAY_ADVORD_CRDTCHK_MODE },
{ 'S', 'S', 'N', 'Y', BIT33_PAY_ADVORD_CRDTCHK_MODE },
{ 'S', 'S', 'Y', 'N', BIT33_PAY_ADVORD_CRDTCHK_MODE },
{ 'S', 'S', 'Y', 'Y', BIT33_PAY_ADVORD_CRDTCHK_MODE },
{ 'T', 'S', 'N', 'N', BIT33_PAY_ADVORD_CRDTCHK_MODE },
{ 'T', 'S', 'N', 'Y', BIT33_PAY_ADVORD_CRDTCHK_MODE },
{ 'T', 'S', 'Y', 'N', BIT33_PAY_ADVORD_CRDTCHK_MODE },
{ 'T', 'S', 'Y', 'Y', BIT33_PAY_ADVORD_CRDTCHK_MODE },
{ 'S', 'S', 'N', 'N', 0x00 },
{ 'S', 'S', 'N', 'Y', 0x00 },
{ 'S', 'S', 'Y', 'N', 0x00 },
{ 'S', 'S', 'Y', 'Y', 0x00 },
{ 'T', 'S', 'N', 'N', 0x00 },
{ 'T', 'S', 'N', 'Y', 0x00 },
{ 'T', 'S', 'Y', 'N', 0x00 },
{ 'T', 'S', 'Y', 'Y', 0x00 },
{ 'A', 'S', 'N', 'N', BIT33_PAY_ADVORD_CRDTCHK_MODE },
{ 'A', 'S', 'N', 'Y', BIT33_PAY_ADVORD_CRDTCHK_MODE },
{ 'A', 'S', 'Y', 'N', BIT33_PAY_ADVORD_CRDTCHK_MODE },
{ 'A', 'S', 'Y', 'Y', BIT33_PAY_ADVORD_CRDTCHK_MODE },
{ 'A', 'S', 'N', 'N', BIT33_PAY_ADVORD_CRDTCHK_MODE },
{ 'A', 'S', 'N', 'Y', BIT33_PAY_ADVORD_CRDTCHK_MODE },
{ 'A', 'S', 'Y', 'N', BIT33_PAY_ADVORD_CRDTCHK_MODE },
{ 'A', 'S', 'Y', 'Y', BIT33_PAY_ADVORD_CRDTCHK_MODE },
{ 'A', 'S', 'N', 'N', 0x00 },
{ 'A', 'S', 'N', 'Y', 0x00 },
{ 'A', 'S', 'Y', 'N', 0x00 },
{ 'A', 'S', 'Y', 'Y', 0x00 },
{ 'A', 'S', 'N', 'N', 0x00 },
{ 'A', 'S', 'N', 'Y', 0x00 },
{ 'A', 'S', 'Y', 'N', 0x00 },
{ 'A', 'S', 'Y', 'Y', 0x00 },
{ 0, 0, 0, 0, 0 }
};
/*ETSSUP-3726*/
BEGIN_UNIT_TEST_PARAMS( etssup_2750_1 )
ON_UNIT_TEST_PARAMS( "type='S', side='B', BKey='N', SKey='N', pay=BIT33_PAY_ADVORD_CRDTCHK_MODE", test_IsAdvOrdRequiredToCheckCrdt, &IsAdvOrdRequiredToCheckCrdt_parms[0], kEQ, 0L )
ON_UNIT_TEST_PARAMS( "type='S', side='B', BKey='N', SKey='Y', pay=BIT33_PAY_ADVORD_CRDTCHK_MODE", test_IsAdvOrdRequiredToCheckCrdt, &IsAdvOrdRequiredToCheckCrdt_parms[1], kEQ, 0L )
ON_UNIT_TEST_PARAMS( "type='S', side='B', BKey='Y', SKey='N', pay=BIT33_PAY_ADVORD_CRDTCHK_MODE", test_IsAdvOrdRequiredToCheckCrdt, &IsAdvOrdRequiredToCheckCrdt_parms[2], kEQ, 1L )
ON_UNIT_TEST_PARAMS( "type='S', side='B', BKey='Y', SKey='Y', pay=BIT33_PAY_ADVORD_CRDTCHK_MODE", test_IsAdvOrdRequiredToCheckCrdt, &IsAdvOrdRequiredToCheckCrdt_parms[3], kEQ, 1L )
ON_UNIT_TEST_PARAMS( "type='T', side='B', BKey='N', SKey='N', pay=BIT33_PAY_ADVORD_CRDTCHK_MODE", test_IsAdvOrdRequiredToCheckCrdt, &IsAdvOrdRequiredToCheckCrdt_parms[4], kEQ, 0L )
ON_UNIT_TEST_PARAMS( "type='T', side='B', BKey='N', SKey='Y', pay=BIT33_PAY_ADVORD_CRDTCHK_MODE", test_IsAdvOrdRequiredToCheckCrdt, &IsAdvOrdRequiredToCheckCrdt_parms[5], kEQ, 0L )
ON_UNIT_TEST_PARAMS( "type='T', side='B', BKey='Y', SKey='N', pay=BIT33_PAY_ADVORD_CRDTCHK_MODE", test_IsAdvOrdRequiredToCheckCrdt, &IsAdvOrdRequiredToCheckCrdt_parms[6], kEQ, 1L )
ON_UNIT_TEST_PARAMS( "type='T', side='B', BKey='Y', SKey='Y', pay=BIT33_PAY_ADVORD_CRDTCHK_MODE", test_IsAdvOrdRequiredToCheckCrdt, &IsAdvOrdRequiredToCheckCrdt_parms[7], kEQ, 1L )
ON_UNIT_TEST_PARAMS( "type='S', side='B', BKey='N', SKey='N', pay=0x00", test_IsAdvOrdRequiredToCheckCrdt, &IsAdvOrdRequiredToCheckCrdt_parms[8], kEQ, 1L )
ON_UNIT_TEST_PARAMS( "type='S', side='B', BKey='N', SKey='Y', pay=0x00", test_IsAdvOrdRequiredToCheckCrdt, &IsAdvOrdRequiredToCheckCrdt_parms[9], kEQ, 1L )
ON_UNIT_TEST_PARAMS( "type='S', side='B', BKey='Y', SKey='N', pay=0x00", test_IsAdvOrdRequiredToCheckCrdt, &IsAdvOrdRequiredToCheckCrdt_parms[10], kEQ, 1L )
ON_UNIT_TEST_PARAMS( "type='S', side='B', BKey='Y', SKey='Y', pay=0x00", test_IsAdvOrdRequiredToCheckCrdt, &IsAdvOrdRequiredToCheckCrdt_parms[11], kEQ, 1L )
ON_UNIT_TEST_PARAMS( "type='T', side='B', BKey='N', SKey='N', pay=0x00", test_IsAdvOrdRequiredToCheckCrdt, &IsAdvOrdRequiredToCheckCrdt_parms[12], kEQ, 1L )
ON_UNIT_TEST_PARAMS( "type='T', side='B', BKey='N', SKey='Y', pay=0x00", test_IsAdvOrdRequiredToCheckCrdt, &IsAdvOrdRequiredToCheckCrdt_parms[13], kEQ, 1L )
ON_UNIT_TEST_PARAMS( "type='T', side='B', BKey='Y', SKey='N', pay=0x00", test_IsAdvOrdRequiredToCheckCrdt, &IsAdvOrdRequiredToCheckCrdt_parms[14], kEQ, 1L )
ON_UNIT_TEST_PARAMS( "type='T', side='B', BKey='Y', SKey='Y', pay=0x00", test_IsAdvOrdRequiredToCheckCrdt, &IsAdvOrdRequiredToCheckCrdt_parms[15], kEQ, 1L )
ON_UNIT_TEST_PARAMS( "type='S', side='S', BKey='N', SKey='N', pay=BIT33_PAY_ADVORD_CRDTCHK_MODE", test_IsAdvOrdRequiredToCheckCrdt, &IsAdvOrdRequiredToCheckCrdt_parms[16], kEQ, 0L )
ON_UNIT_TEST_PARAMS( "type='S', side='S', BKey='N', SKey='Y', pay=BIT33_PAY_ADVORD_CRDTCHK_MODE", test_IsAdvOrdRequiredToCheckCrdt, &IsAdvOrdRequiredToCheckCrdt_parms[17], kEQ, 1L )
ON_UNIT_TEST_PARAMS( "type='S', side='S', BKey='Y', SKey='N', pay=BIT33_PAY_ADVORD_CRDTCHK_MODE", test_IsAdvOrdRequiredToCheckCrdt, &IsAdvOrdRequiredToCheckCrdt_parms[18], kEQ, 0L )
ON_UNIT_TEST_PARAMS( "type='S', side='S', BKey='Y', SKey='Y', pay=BIT33_PAY_ADVORD_CRDTCHK_MODE", test_IsAdvOrdRequiredToCheckCrdt, &IsAdvOrdRequiredToCheckCrdt_parms[19], kEQ, 1L )
ON_UNIT_TEST_PARAMS( "type='T', side='S', BKey='N', SKey='N', pay=BIT33_PAY_ADVORD_CRDTCHK_MODE", test_IsAdvOrdRequiredToCheckCrdt, &IsAdvOrdRequiredToCheckCrdt_parms[20], kEQ, 0L )
ON_UNIT_TEST_PARAMS( "type='T', side='S', BKey='N', SKey='Y', pay=BIT33_PAY_ADVORD_CRDTCHK_MODE", test_IsAdvOrdRequiredToCheckCrdt, &IsAdvOrdRequiredToCheckCrdt_parms[21], kEQ, 1L )
ON_UNIT_TEST_PARAMS( "type='T', side='S', BKey='Y', SKey='N', pay=BIT33_PAY_ADVORD_CRDTCHK_MODE", test_IsAdvOrdRequiredToCheckCrdt, &IsAdvOrdRequiredToCheckCrdt_parms[22], kEQ, 0L )
ON_UNIT_TEST_PARAMS( "type='T', side='S', BKey='Y', SKey='Y', pay=BIT33_PAY_ADVORD_CRDTCHK_MODE", test_IsAdvOrdRequiredToCheckCrdt, &IsAdvOrdRequiredToCheckCrdt_parms[23], kEQ, 1L )
ON_UNIT_TEST_PARAMS( "type='S', side='S', BKey='N', SKey='N', pay=0x00", test_IsAdvOrdRequiredToCheckCrdt, &IsAdvOrdRequiredToCheckCrdt_parms[24], kEQ, 1L )
ON_UNIT_TEST_PARAMS( "type='S', side='S', BKey='N', SKey='Y', pay=0x00", test_IsAdvOrdRequiredToCheckCrdt, &IsAdvOrdRequiredToCheckCrdt_parms[25], kEQ, 1L )
ON_UNIT_TEST_PARAMS( "type='S', side='S', BKey='Y', SKey='N', pay=0x00", test_IsAdvOrdRequiredToCheckCrdt, &IsAdvOrdRequiredToCheckCrdt_parms[26], kEQ, 1L )
ON_UNIT_TEST_PARAMS( "type='S', side='S', BKey='Y', SKey='Y', pay=0x00", test_IsAdvOrdRequiredToCheckCrdt, &IsAdvOrdRequiredToCheckCrdt_parms[27], kEQ, 1L )
ON_UNIT_TEST_PARAMS( "type='T', side='S', BKey='N', SKey='N', pay=0x00", test_IsAdvOrdRequiredToCheckCrdt, &IsAdvOrdRequiredToCheckCrdt_parms[28], kEQ, 1L )
ON_UNIT_TEST_PARAMS( "type='T', side='S', BKey='N', SKey='Y', pay=0x00", test_IsAdvOrdRequiredToCheckCrdt, &IsAdvOrdRequiredToCheckCrdt_parms[29], kEQ, 1L )
ON_UNIT_TEST_PARAMS( "type='T', side='S', BKey='Y', SKey='N', pay=0x00", test_IsAdvOrdRequiredToCheckCrdt, &IsAdvOrdRequiredToCheckCrdt_parms[30], kEQ, 1L )
ON_UNIT_TEST_PARAMS( "type='T', side='S', BKey='Y', SKey='Y', pay=0x00", test_IsAdvOrdRequiredToCheckCrdt, &IsAdvOrdRequiredToCheckCrdt_parms[31], kEQ, 1L )
ON_UNIT_TEST_PARAMS( "type='A', side='S', BKey='N', SKey='N', pay=BIT33_PAY_ADVORD_CRDTCHK_MODE", test_IsAdvOrdRequiredToCheckCrdt, &IsAdvOrdRequiredToCheckCrdt_parms[32], kEQ, 1L )
ON_UNIT_TEST_PARAMS( "type='A', side='S', BKey='N', SKey='Y', pay=BIT33_PAY_ADVORD_CRDTCHK_MODE", test_IsAdvOrdRequiredToCheckCrdt, &IsAdvOrdRequiredToCheckCrdt_parms[33], kEQ, 1L )
ON_UNIT_TEST_PARAMS( "type='A', side='S', BKey='Y', SKey='N', pay=BIT33_PAY_ADVORD_CRDTCHK_MODE", test_IsAdvOrdRequiredToCheckCrdt, &IsAdvOrdRequiredToCheckCrdt_parms[34], kEQ, 1L )
ON_UNIT_TEST_PARAMS( "type='A', side='S', BKey='Y', SKey='Y', pay=BIT33_PAY_ADVORD_CRDTCHK_MODE", test_IsAdvOrdRequiredToCheckCrdt, &IsAdvOrdRequiredToCheckCrdt_parms[35], kEQ, 1L )
ON_UNIT_TEST_PARAMS( "type='A', side='S', BKey='N', SKey='N', pay=BIT33_PAY_ADVORD_CRDTCHK_MODE", test_IsAdvOrdRequiredToCheckCrdt, &IsAdvOrdRequiredToCheckCrdt_parms[36], kEQ, 1L )
ON_UNIT_TEST_PARAMS( "type='A', side='S', BKey='N', SKey='Y', pay=BIT33_PAY_ADVORD_CRDTCHK_MODE", test_IsAdvOrdRequiredToCheckCrdt, &IsAdvOrdRequiredToCheckCrdt_parms[37], kEQ, 1L )
ON_UNIT_TEST_PARAMS( "type='A', side='S', BKey='Y', SKey='N', pay=BIT33_PAY_ADVORD_CRDTCHK_MODE", test_IsAdvOrdRequiredToCheckCrdt, &IsAdvOrdRequiredToCheckCrdt_parms[38], kEQ, 1L )
ON_UNIT_TEST_PARAMS( "type='A', side='S', BKey='Y', SKey='Y', pay=BIT33_PAY_ADVORD_CRDTCHK_MODE", test_IsAdvOrdRequiredToCheckCrdt, &IsAdvOrdRequiredToCheckCrdt_parms[39], kEQ, 1L )
ON_UNIT_TEST_PARAMS( "type='A', side='S', BKey='N', SKey='N', pay=0x00", test_IsAdvOrdRequiredToCheckCrdt, &IsAdvOrdRequiredToCheckCrdt_parms[40], kEQ, 1L )
ON_UNIT_TEST_PARAMS( "type='A', side='S', BKey='N', SKey='Y', pay=0x00", test_IsAdvOrdRequiredToCheckCrdt, &IsAdvOrdRequiredToCheckCrdt_parms[41], kEQ, 1L )
ON_UNIT_TEST_PARAMS( "type='A', side='S', BKey='Y', SKey='N', pay=0x00", test_IsAdvOrdRequiredToCheckCrdt, &IsAdvOrdRequiredToCheckCrdt_parms[42], kEQ, 1L )
ON_UNIT_TEST_PARAMS( "type='A', side='S', BKey='Y', SKey='Y', pay=0x00", test_IsAdvOrdRequiredToCheckCrdt, &IsAdvOrdRequiredToCheckCrdt_parms[43], kEQ, 1L )
ON_UNIT_TEST_PARAMS( "type='A', side='S', BKey='N', SKey='N', pay=0x00", test_IsAdvOrdRequiredToCheckCrdt, &IsAdvOrdRequiredToCheckCrdt_parms[44], kEQ, 1L )
ON_UNIT_TEST_PARAMS( "type='A', side='S', BKey='N', SKey='Y', pay=0x00", test_IsAdvOrdRequiredToCheckCrdt, &IsAdvOrdRequiredToCheckCrdt_parms[45], kEQ, 1L )
ON_UNIT_TEST_PARAMS( "type='A', side='S', BKey='Y', SKey='N', pay=0x00", test_IsAdvOrdRequiredToCheckCrdt, &IsAdvOrdRequiredToCheckCrdt_parms[46], kEQ, 1L )
ON_UNIT_TEST_PARAMS( "type='A', side='S', BKey='Y', SKey='Y', pay=0x00", test_IsAdvOrdRequiredToCheckCrdt, &IsAdvOrdRequiredToCheckCrdt_parms[47], kEQ, 1L )
END_UNIT_TEST_PARAMS()
void etssup_2750_run(char* title)
{
FILE* fp = NULL;
BEGIN_RUN_TEST_HTML(fp, "etssup_2750_3726_utr.html" )
RUN_TEST_HTML( fp, title, etssup_2750_1 )
END_RUN_TEST_HTML(fp)
}