コード例 #1
0
int main(void)
{
    JsonNode *node;

    (void) chomp;

    plan_tests(49);

    ok1(json_find_element(NULL, 0) == NULL);
    ok1(json_find_member(NULL, "") == NULL);
    ok1(json_first_child(NULL) == NULL);

    node = json_mknull();
    should_be(node, "null");
    json_delete(node);

    node = json_mkbool(false);
    should_be(node, "false");
    json_delete(node);

    node = json_mkbool(true);
    should_be(node, "true");
    json_delete(node);

    test_string();
    test_number();
    test_array();
    test_object();

    return exit_status();
}
コード例 #2
0
ファイル: json.cpp プロジェクト: Doffeh/Cataclysm-DDA
bool JsonIn::read(double &d)
{
    if (!test_number()) {
        return false;
    }
    d = get_float();
    return true;
}
コード例 #3
0
ファイル: json.cpp プロジェクト: Doffeh/Cataclysm-DDA
bool JsonIn::read(float &f)
{
    if (!test_number()) {
        return false;
    }
    f = get_float();
    return true;
}
コード例 #4
0
ファイル: json.cpp プロジェクト: Doffeh/Cataclysm-DDA
bool JsonIn::read(unsigned int &u)
{
    if (!test_number()) {
        return false;
    }
    u = get_int();
    return true;
}
コード例 #5
0
ファイル: json.cpp プロジェクト: Doffeh/Cataclysm-DDA
bool JsonIn::read(int &i)
{
    if (!test_number()) {
        return false;
    }
    i = get_int();
    return true;
}
コード例 #6
0
ファイル: json.cpp プロジェクト: Daidalon/Cataclysm-DDA
bool JsonIn::read(unsigned long &ul)
{
    if (!test_number()) {
        return false;
    }
    ul = get_long();
    return true;
}
コード例 #7
0
ファイル: json.cpp プロジェクト: Daidalon/Cataclysm-DDA
bool JsonIn::read(long &l)
{
    if (!test_number()) {
        return false;
    }
    l = get_long();
    return true;
}
コード例 #8
0
ファイル: test_printf.c プロジェクト: avagin/linux
static void __init selftest(void)
{
	alloced_buffer = kmalloc(BUF_SIZE + 2*PAD_SIZE, GFP_KERNEL);
	if (!alloced_buffer)
		return;
	test_buffer = alloced_buffer + PAD_SIZE;

	test_basic();
	test_number();
	test_string();
	test_pointer();

	kfree(alloced_buffer);
}
コード例 #9
0
ファイル: tart.c プロジェクト: organix/tart
void
run_tests()
{
    TRACE(fprintf(stderr, "---- tart unit tests ----\n"));
    TRACE(fprintf(stderr, "NIL = %p\n", NIL));
    TRACE(fprintf(stderr, "NOTHING = %p\n", NOTHING));
    TRACE(fprintf(stderr, "a_halt = %p\n", a_halt));
    TRACE(fprintf(stderr, "a_ignore = %p\n", a_ignore));
    TRACE(fprintf(stderr, "e_nomem = %p\n", e_nomem));
    TRACE(fprintf(stderr, "e_inval = %p\n", e_inval));
    test_number();
    test_string();
    test_expr();
    test_universe();
}
コード例 #10
0
static enum TOK_T get_next_token(port *in, pointer *token)
{
        char ch, *t;

        skip_white_spc(in);
        switch (ch = get_next_char(in)) {
        case EOF:
                return FILE_END;
        case '(':
                return LIST_START;
        case ')':
                return LIST_END;
        case '"':
                *token = mk_string(read_string(in));
                return STRING;
        case '\'':
                return QUOTE;
        case '`':
                return BACKQUOTE;
        case ',':
                if ((ch = get_next_char(in)) == '@')
                        return SPLICE;
                else {
                        push_back_char(in, ch);
                        return UNQUOTE;
                }
        case '.':
                return DOT;
        default:
                push_back_char(in, ch);
                t = get_char_until_delim(in);
                if (test_number(t)) {
                        *token = mk_number(atoi(t));
                        return NUMBER;
                } else {
                        *token = mk_symbol(t);
                        return SYMBOL;
                }
        }
}
コード例 #11
0
int 
main ()
{
  gdouble d, our_nan, our_inf;
  char buffer[G_ASCII_DTOSTR_BUF_SIZE];

#ifdef NAN
  our_nan = NAN;
#else
  /* Do this before any call to setlocale.  */
  our_nan = atof ("NaN");
#endif
  g_assert (isnan (our_nan));

#ifdef INFINITY
  our_inf = INFINITY;
#else
  our_inf = atof ("Infinity");
#endif
  g_assert (our_inf > 1 && our_inf == our_inf / 2);

  test_string ("123.123", 123.123, FALSE, 0);
  test_string ("123.123e2", 123.123e2, FALSE, 0);
  test_string ("123.123e-2", 123.123e-2, FALSE, 0);
  test_string ("-123.123", -123.123, FALSE, 0);
  test_string ("-123.123e2", -123.123e2, FALSE, 0);
  test_string ("-123.123e-2", -123.123e-2, FALSE, 0);
  test_string ("5.4", 5.4, TRUE, 3);
  test_string ("5.4,5.5", 5.4, TRUE, 3);
  test_string ("5,4", 5.0, TRUE, 1);
  /* the following are for #156421 */
  test_string ("1e1", 1e1, FALSE, 0); 
  test_string ("NAN", our_nan, FALSE, 0);
  test_string ("-nan", -our_nan, FALSE, 0);
  test_string ("INF", our_inf, FALSE, 0);
  test_string ("-infinity", -our_inf, FALSE, 0);
  test_string ("-.75,0", -0.75, TRUE, 4);
  
  d = 179769313486231570814527423731704356798070567525844996598917476803157260780028538760589558632766878171540458953514382464234321326889464182768467546703537516986049910576551282076245490090389328944075868508455133942304583236903222948165808559332123348274797826204144723168738177180919299881250404026184124858368.0;
  g_assert (d == g_ascii_strtod (g_ascii_dtostr (buffer, sizeof (buffer), d), NULL));

  d = -179769313486231570814527423731704356798070567525844996598917476803157260780028538760589558632766878171540458953514382464234321326889464182768467546703537516986049910576551282076245490090389328944075868508455133942304583236903222948165808559332123348274797826204144723168738177180919299881250404026184124858368.0;
  g_assert (d == g_ascii_strtod (g_ascii_dtostr (buffer, sizeof (buffer), d), NULL));
  
  d = pow (2.0, -1024.1);
  g_assert (d == g_ascii_strtod (g_ascii_dtostr (buffer, sizeof (buffer), d), NULL));
  
  d = -pow (2.0, -1024.1);
  g_assert (d == g_ascii_strtod (g_ascii_dtostr (buffer, sizeof (buffer), d), NULL));

  /* for #343899 */
  test_string (" 0.75", 0.75, FALSE, 0);
  test_string (" +0.75", 0.75, FALSE, 0);
  test_string (" -0.75", -0.75, FALSE, 0);
  test_string ("\f0.75", 0.75, FALSE, 0);
  test_string ("\n0.75", 0.75, FALSE, 0);
  test_string ("\r0.75", 0.75, FALSE, 0);
  test_string ("\t0.75", 0.75, FALSE, 0);
#if 0
  /* g_ascii_isspace() returns FALSE for vertical tab, see #59388 */
  test_string ("\v0.75", 0.75, FALSE, 0);
#endif

  /* for #343899 */
  test_number (0.75, "%0.2f", "0.75");
  test_number (0.75, "%5.2f", " 0.75");
  test_number (-0.75, "%0.2f", "-0.75");
  test_number (-0.75, "%5.2f", "-0.75");
  test_number (1e99, "%.0e", "1e+99");
  return 0;
}
コード例 #12
0
ファイル: simulation.c プロジェクト: dtsbourg/Oasis
void sim_input_test (char lign[220], int *status, int *ptr)
{
	int j;
	
	switch (*status)
	{
		case CLOCK:
			if ( sscanf (lign, "%d", &horloge) )
			{
				if ( test_clock (horloge) )
				{
					sim_save_time (horloge);
					*status=OASIS_SIZE_PARAMETER;
					break;
				}
				
				else 
				{
					*status=EXIT;
					break;
				}
			}
			
			else 
			{
				error_missing_time();
				*status = EXIT;
				break;
			}
		
		case OASIS_SIZE_PARAMETER:
			if ( (sscanf(lign, "%d", &oasis)) )
			{
				if ( (test_oasis_size_parameter (oasis) ) )
				{
					oasis = 2*(oasis) + 1;
					sim_save_oasis(oasis);
					cell_create_tab(oasis);
					*status=OASIS;
					i=0;
					break;
				}
				
				else 
				{
					*status=EXIT;
					break;
				}
				
			}
			
			else 
			{
				error_missing_map_size();
				*status=EXIT;
				break;
			}
			
		case OASIS:
			for (j=0; j<oasis;j++)
			{
				if ( (sscanf (lign, "%c", &c_cell) ) )
				{
					if ( (test_oasis_cell(c_cell, i, j)) )
					{
						cell_add(oasis-1+DESERT_SIZE-i, j+DESERT_SIZE, c_cell);
						c_cell=0;
						lign++;
					}
					
					else
					{
						*status=EXIT;
						break;
					}	
				}
			}
			
			i++;
			
			if (i==oasis) 
			{
				*status = PREY_NUMBER;
				i=0;
				break;
			}
			
			break;
			
		case PREY_NUMBER:
			if( (sscanf(lign, "%d", &prey_nb)) && (test_number (prey_nb, PREY_NUMBER, oasis) ) )
			{
				sim_save_prey_nb(prey_nb);
				*status=PREY_COORDINATES;
				break;
			}
			 
			else 
			{
				error_missing_prey_number();
				*status=EXIT;
				break;
			}
			
		case PREY_COORDINATES:
			if ( (sscanf (lign, " %d %d %d %f ", &prey_x, &prey_y, &prey_bool, &prey_energy)) )
			{				
				if(test_coordinates (i, prey_nb, oasis, PREY_COORDINATES, prey_x, prey_y, prey_energy))
				{
					prey_add(prey_x, prey_y, prey_bool, prey_energy);
				
					if (i==prey_nb-1)
					{
						i=0;
						*status=PREDATOR_NUMBER;
						break;
					}
					
					if (i<prey_nb-1)
					{
						i++;
						break;
					}
				}
				
				else 
				{
					*status=EXIT;
					break;
				}
			}
			
			else 
			{
				*status = EXIT;
				break; 
			}
			
		
		case PREDATOR_NUMBER:
			if( (sscanf(lign, "%d", &pred_nb)) && (test_number (pred_nb, PREDATOR_NUMBER, oasis) ) )
			{
				sim_save_pred_nb(pred_nb);
				*status=PREDATOR_COORDINATES;
				break;
			}
			 
			else 
			{
				error_missing_predator_number();
				*status=EXIT;
				break;
			}
			
		case PREDATOR_COORDINATES:	
			if ( (sscanf (lign, " %d %d %f ", &pred_x, &pred_y, &pred_energy)) )
			{		
				pred_add(pred_x, pred_y, pred_energy);
				
				(*ptr)++;

				if(test_coordinates (i, pred_nb, oasis, PREDATOR_COORDINATES, pred_x, pred_y, pred_energy))
				{
					if (i==pred_nb-1)
					{
						input_is_valid();
						*status=CORRECT;
						break;
					}
					
					if (i<pred_nb-1)
					{
						i++;	
					}
				}
				
				else 
				{
					*status=EXIT;
					break;
				}
			}
			
			else 
			{
				*status = EXIT;
				break; 
			}
			
		case EXIT:
			break;
	}
	
}
コード例 #13
0
ファイル: test_vsprintf.c プロジェクト: wendellyi/os
void test_vsprintf(void)
{
    test_number();
}