which included commits to RCS files with non-trunk default branches. git-svn-id: svn://10.65.10.50/trunk@976 c028cbd2-c16b-5b4b-a496-9718f37d4682
		
			
				
	
	
		
			113 lines
		
	
	
		
			2.4 KiB
		
	
	
	
		
			C
		
	
	
		
			Executable File
		
	
	
	
	
			
		
		
	
	
			113 lines
		
	
	
		
			2.4 KiB
		
	
	
	
		
			C
		
	
	
		
			Executable File
		
	
	
	
	
/* t4bcd.c (c)Copyright Sequiter Software Inc., 1990-1993. All rights reserved. */
 | 
						|
 | 
						|
/* Tests CodeBase 4.5 bcd conversion and comparison */
 | 
						|
 | 
						|
#include "d4all.h"
 | 
						|
#ifdef __TURBOC__
 | 
						|
#pragma hdrstop
 | 
						|
#endif
 | 
						|
 | 
						|
#include "t4test.h"
 | 
						|
 | 
						|
CODE4 cb ;
 | 
						|
 | 
						|
#ifdef S4MDX
 | 
						|
#ifndef S4WINDOWS
 | 
						|
 | 
						|
typedef struct
 | 
						|
{
 | 
						|
  double  d_val ;
 | 
						|
  char   *s1 ;
 | 
						|
  char   *s2 ;
 | 
						|
  int     r ;
 | 
						|
} T4BCD_TEST ;
 | 
						|
 | 
						|
static T4BCD_TEST test[] = 
 | 
						|
{
 | 
						|
{ 1.0, "1.0", "01.00", 0 },
 | 
						|
{ 2.2, "2.2", "  2.20", 0 },
 | 
						|
{ .01, ".01", "  .0100 ", 0 },
 | 
						|
{   0, "", " 0.00 ", 0 },
 | 
						|
{   0, "0", ".0", 0 },
 | 
						|
{ 0, ".1", "  .2 ", -1 },
 | 
						|
{ 9, "8.7", " 8.66 ", 1 },
 | 
						|
{ 100, "99", " 88.88 ", 1 },
 | 
						|
{ .04, " .03 ", ".00999", 1 },
 | 
						|
{   1, "0", "-1", 1 },
 | 
						|
{ -1.0, "-1.0", "-01.00", 0 },
 | 
						|
{ -2.2, "-2.2", " -2.20", 0 },
 | 
						|
{ -.01, "-.01", "-  .0100 ", 0 },
 | 
						|
{   -0, "-", " -0.00 ", 0 },
 | 
						|
{   -0, "-0", "-.0", 0 },
 | 
						|
{ -0, "-.1", "  -.2 ", 1 },
 | 
						|
{ -9, "-8.7", "- 8.66 ", -1 },
 | 
						|
{ -100, "-99", " -88.88 ", -1 },
 | 
						|
{ -.04, " -.03 ", "-.00999", -1 },
 | 
						|
{ 0,0,0 }
 | 
						|
} ;
 | 
						|
 | 
						|
static void check( int r1, int r2 )
 | 
						|
{
 | 
						|
  if ( r1 == 0 && r2 == 0 )
 | 
						|
    return ;
 | 
						|
  if ( r1 < 0 && r2 < 0 )
 | 
						|
    return ;
 | 
						|
  if ( r1 > 0 && r2 > 0 )
 | 
						|
    return ;
 | 
						|
 | 
						|
  t4severe( t4err_general, "01" ) ;
 | 
						|
}
 | 
						|
 | 
						|
 | 
						|
static int  test_with_mem_check( D4DISPLAY *display )
 | 
						|
{
 | 
						|
  int i ;
 | 
						|
  C4BCD bcd[3] ;
 | 
						|
 | 
						|
  d4init( &cb ) ;
 | 
						|
  d4display_str( display,  "        i: ", 1 ) ;
 | 
						|
 | 
						|
  for ( i = 0; test[i].s1 != 0; i++ )
 | 
						|
  {
 | 
						|
    display->x = (int) 0 ;
 | 
						|
    d4display_str( display,  "        i: ", 0 ) ;
 | 
						|
    d4display_num( display, i, 0 ) ;
 | 
						|
 | 
						|
    c4bcd_from_d( (char *)&bcd[0], test[i].d_val ) ;
 | 
						|
    c4bcd_from_a( (char *)&bcd[1], test[i].s1, strlen(test[i].s1) ) ;
 | 
						|
    c4bcd_from_a( (char *)&bcd[2], test[i].s2, strlen(test[i].s2) ) ;
 | 
						|
 | 
						|
    check( (int)c4bcd_cmp( &bcd[0], &bcd[1], 0), test[i].r ) ;
 | 
						|
    check( (int)c4bcd_cmp( &bcd[0], &bcd[2], 0), test[i].r ) ;
 | 
						|
    check( (int)c4bcd_cmp( &bcd[1], &bcd[2], 0), test[i].r ) ;
 | 
						|
  }
 | 
						|
  d4init_undo( &cb ) ;
 | 
						|
  return 0 ;
 | 
						|
}
 | 
						|
 | 
						|
#endif
 | 
						|
#endif
 | 
						|
 | 
						|
int S4FUNCTION t4test( D4DISPLAY *display )
 | 
						|
{
 | 
						|
  d4display_str( display,  "T4BCD Test  ", 1 ) ;
 | 
						|
  d4display_str( display,  " ", 1 ) ;
 | 
						|
 | 
						|
#ifndef S4MDX
 | 
						|
  d4display_str( display,  "T4BCD: Test for MDX format only  ", 1 ) ;
 | 
						|
  return 0 ;
 | 
						|
#else
 | 
						|
#ifdef S4WINDOWS
 | 
						|
  d4display_str( display,  "T4BCD: Test for non-windows only  ", 1 ) ;
 | 
						|
  return 0 ;
 | 
						|
#else
 | 
						|
  test_with_mem_check( display ) ;
 | 
						|
  
 | 
						|
  display->y += 2 ;
 | 
						|
  d4display_str( display, "T4BCD:   SUCCESS", 1 ) ;
 | 
						|
  d4display_str( display, "", 1) ;
 | 
						|
  return 1 ;
 | 
						|
#endif
 | 
						|
#endif
 | 
						|
}
 |