Esempio n. 1
0
void test_NewDelete_error(void)
{
	BFI bfi;
	int bfi_ret;
	
	int i;
	
	static const BFI_TEST_DATA programs[] = {
		BFI_TEST(program1,0),
		BFI_TEST(err_program1,256),
		BFI_TEST(err_program2,256),
		BFI_TEST(err_program3,256),
	};
	int program_num = sizeof(programs)/sizeof(programs[0]);
	
	for(i = 0; i < program_num; i++){
		bfi = brainfuck_new(programs[i].ptr_program, programs[i].programsize, programs[i].tapesize);
		
		PCU_ASSERT_PTR_EQUAL_MESSAGE(NULL, bfi, PCU_format("i=%d",i));
		
		bfi_ret = brainfuck_delete(bfi);
		
		PCU_ASSERT_EQUAL_MESSAGE(BFI_ERROR, bfi_ret, PCU_format("i=%d",i));
	}
}
Esempio n. 2
0
void test_NewDelete(void)
{
	BFI bfi;
	int bfi_ret;
	int test_tapesize;
	int tapesize;
	const int *tapeptr;
	int c;
	int i;
	
	test_tapesize = 256;
	
	bfi = brainfuck_new(program1, sizeof(program1)/sizeof(program1[0]), test_tapesize);
	
	PCU_ASSERT_PTR_NOT_EQUAL(NULL, bfi);
	
	bfi_ret = brainfuck_get_tapesize(bfi, &tapesize);
	
	PCU_ASSERT_EQUAL(BFI_SUCCESS, bfi_ret);
	PCU_ASSERT_EQUAL(test_tapesize, tapesize);
	
	bfi_ret = brainfuck_get_tapeptr(bfi, &tapeptr);
	
	PCU_ASSERT_EQUAL(BFI_SUCCESS, bfi_ret);
	PCU_ASSERT_PTR_NOT_EQUAL(&c, tapeptr);
	
	for(i = 0; i < tapesize; i++){
		PCU_ASSERT_EQUAL_MESSAGE(0, tapeptr[i], PCU_format("i=%d",i));
	}
	
	bfi_ret = brainfuck_delete(bfi);
	
	PCU_ASSERT_EQUAL(BFI_SUCCESS, bfi_ret);
}
Esempio n. 3
0
void test_Step_data(void)
{
	BFI bfi;
	int bfi_ret;
	int i;
	int pc;
	
	static const BFI_TEST_DATA programs[] = {
		BFI_TEST(program3,256),
		BFI_TEST(program4,256),
		BFI_TEST(program5,256),
	};
	int program_num = sizeof(programs)/sizeof(programs[0]);
	
	for(i = 0; i < program_num; i++){
		bfi = brainfuck_new(programs[i].ptr_program, programs[i].programsize, programs[i].tapesize);
		
		PCU_ASSERT_PTR_NOT_EQUAL_MESSAGE(NULL, bfi, PCU_format("i=%d",i));
		
		pc = 256;
		
		bfi_ret = brainfuck_get_programcounter(bfi, &pc);
		
		PCU_ASSERT_EQUAL_MESSAGE(0, pc, PCU_format("i=%d",i));
		
		bfi_ret = brainfuck_step(bfi);
		
		PCU_ASSERT_EQUAL_MESSAGE(BFI_SUCCESS, bfi_ret, PCU_format("i=%d",i));
		
		pc = 0;
		
		bfi_ret = brainfuck_get_programcounter(bfi, &pc);
		
		PCU_ASSERT_EQUAL_MESSAGE(1, pc, PCU_format("i=%d",i));
		
		bfi_ret = brainfuck_delete(bfi);
		
		PCU_ASSERT_EQUAL_MESSAGE(BFI_SUCCESS, bfi_ret, PCU_format("i=%d",i));
	}
}
Esempio n. 4
0
void test_CheckProgramBracket(void)
{
	int bfi_ret;
	
	int i;
	
	static const BFI_TEST_DATA programs[] = {
		BFI_TEST(program1,0),
		BFI_TEST(program2,0),
	};
	int program_num = sizeof(programs)/sizeof(programs[0]);
	
	for(i = 0; i < program_num; i++){
		bfi_ret = brainfuck_check_programbracket(programs[i].ptr_program, programs[i].programsize);
		
		PCU_ASSERT_EQUAL_MESSAGE(BFI_SUCCESS, bfi_ret, PCU_format("i=%d",i));
	}
}
Esempio n. 5
0
static void test_StrToken(void)
{
    size_t i;

    PCU_ASSERT_EQUAL(data->expected_count, StrToken_count(tok));
    for (i = 0; i < data->expected_count; i++) {
        PCU_ASSERT_STRING_EQUAL_MESSAGE(data->expected_token[i], StrToken_get(tok, i), PCU_format("%dth token err", i));
    }
}