Files
Tart/testing/test_tart.cpp

149 lines
5.7 KiB
C++

#include "test_tart.h"
#include "Pickler.h"
bool rgb_test(struct tart_rgb* lhs, struct tart_rgb* rhs) {
if(lhs->r != rhs->r) {return false;}
if(lhs->g != rhs->g) {return false;}
if(lhs->b != rhs->b) {return false;}
return true;
}
bool vec2_test(struct tart_vec2* lhs, struct tart_vec2* rhs) {
if(lhs->x != rhs->x) {return false;}
if(lhs->y != rhs->y) {return false;}
return true;
}
void tart_run(struct pickle_shelf* shelf) {
pickle_shelf __pickle_shelf__ = *shelf;
CREATEJAR(tart_objects_test);
PICKLE(Test_create_buffer) {
struct tart_buffer buffer_correct = {0,0,25,{20,20},{0,0}, 0};
struct tart_buffer buffer_test = tart_create_buffer(25,{20,20},{0,0});
if(DIFFERENT(buffer_correct.cell_count,buffer_test.cell_count))
ASSERT("Cell count not the same.",false);
if(DIFFERENT(buffer_correct.layer,buffer_test.layer))
ASSERT("Layers not the same.",false);
if(DIFFERENT(buffer_correct.id,buffer_test.id))
ASSERT("Ids are not the same.",false);
if(DIFFERENT(buffer_correct.size.x,buffer_test.size.x))
ASSERT("size.x is not the same",false);
if(DIFFERENT(buffer_correct.size.y,buffer_test.size.y))
ASSERT("size.y is not the same",false);
if(DIFFERENT(buffer_correct.position.x,buffer_test.position.x))
ASSERT("position.x is not the same.",false);
if(DIFFERENT(buffer_correct.position.y,buffer_test.position.y))
ASSERT("position.y is not the same.",false);
ASSERT("GOOD",true);
}();
PICKLE(Test_create_cell) {
tart_byte f = 20;
tart_byte b = 40;
struct tart_cell cell_correct = {f, b, '1', 'f'};
struct tart_cell cell_test = tart_create_cell('f', '1', f, b);
#ifdef TART_RGB_COLOR
struct tart_rgb b = {80,80,80};
struct tart_rgb f = {80,80,80};
struct tart_cell cell_correct = {f, b, '1', 'f'};
struct tart_cell cell_test = tart_create_cell('f', '1', f, b);
if(!rgb_test(&cell_correct.foreground, &cell_test.foreground))
ASSERT("Forground dose not match.",false);
if(!rgb_test(&cell_correct.background, &cell_test.background))
ASSERT("background dose not match.",false);
#else
if(DIFFERENT(&cell_correct.foreground, &cell_test.foreground))
ASSERT("Forground dose not match.",false);
if(DIFFERENT(&cell_correct.background, &cell_test.background))
ASSERT("background dose not match.",false);
#endif
if(DIFFERENT(cell_correct.style, cell_test.style))
ASSERT("style dose not match.",false);
if(DIFFERENT(cell_correct.display, cell_test.display))
ASSERT("display dose not match.",false);
ASSERT("GOOD",true);
}();
PICKLE(Test_create_window) {
struct tart_buffer buffer = tart_create_buffer(10, {10,20}, {0,0});
struct tart_window window = tart_create_window();
for(int i = 0; i < 0xFF + 1; i++) {
if(DIFFERENT(window.buffers[i].id, 0))
ASSERT("buffer not same", false);
}
ASSERT("GOOD", true);
}();
PICKLE(Test_add_buffer) {
struct tart_buffer buffer = tart_create_buffer(10, {10,20}, {0,0});
struct tart_window window = tart_create_window();
tart_add_buffer(&window, buffer);
if(SAME(window.buffer_count, 0))
ASSERT("index has not indexed", false);
if(DIFFERENT(window.buffers[0].id, buffer.id))
ASSERT("buffer not same", false);
ASSERT("GOOD", true);
}();
PICKLE(Test_set_buffer) {
struct tart_buffer buffer = tart_create_buffer(10, {10,20}, {0,0});
struct tart_window window = tart_create_window();
tart_set_buffer(&window, buffer, 0);
if(DIFFERENT(window.buffers[0].id, buffer.id))
ASSERT("buffer not same", false);
ASSERT("GOOD", true);
}();
PICKLE(Test_get_buffer) {
struct tart_buffer buffer = tart_create_buffer(10, {10,20}, {0,0});
struct tart_window window = tart_create_window();
tart_set_buffer(&window, buffer, 0);
if(DIFFERENT(tart_get_buffer(&window, 0)->id, buffer.id))
ASSERT("buffer not same", false);
ASSERT("GOOD", true);
}();
PICKLE(Test_set_cell) {
tart_rgb foreground = {90,90,90};
tart_rgb background = {80,80,80};
struct tart_cell cell = tart_create_cell('0',10,foreground, background);
struct tart_buffer buffer = tart_create_buffer(10, {10,20}, {10,20});
struct tart_window window = tart_create_window();
tart_set_cell(&buffer, cell, 0);
if(DIFFERENT(buffer.cells[0].display, cell.display))
ASSERT("buffer not same", false);
ASSERT("GOOD", true);
}();
PICKLE(Test_get_cell) {
tart_rgb foreground = {90,90,90};
tart_rgb background = {80,80,80};
struct tart_cell cell = tart_create_cell('0',10,foreground, background);
struct tart_buffer buffer = tart_create_buffer(10, {10,20}, {10,20});
struct tart_window window = tart_create_window();
tart_set_cell(&buffer, cell, 0);
if(DIFFERENT(tart_get_cell(&buffer,0)->display, cell.display))
ASSERT("buffer not same", false);
ASSERT("GOOD", true);
}();
ADDPICKLE(tart_objects_test,Test_create_buffer);
ADDPICKLE(tart_objects_test,Test_create_cell);
ADDPICKLE(tart_objects_test,Test_create_buffer);
ADDPICKLE(tart_objects_test,Test_add_buffer);
ADDPICKLE(tart_objects_test,Test_set_buffer);
ADDPICKLE(tart_objects_test,Test_get_buffer);
ADDPICKLE(tart_objects_test,Test_set_cell);
ADDPICKLE(tart_objects_test,Test_get_cell);
PUTJARONSHELF(tart_objects_test);
*shelf = __pickle_shelf__;
}