Move tests/test_jgrid.cpp to jinete/jgrid_unittest.cpp.

This commit is contained in:
David Capello 2010-08-26 22:44:30 -03:00
parent e70c78a9a5
commit 87a25ea68f

View File

@ -18,16 +18,18 @@
#define TEST_GUI #define TEST_GUI
#include "tests/test.h" #include "tests/test.h"
#include "Vaca/Size.h"
using Vaca::Size;
/** /**
* Tests two widgets in a row, each one of 10x10 pixels. * Tests two widgets in a row, each one of 10x10 pixels.
*/ */
static void test_grid_2x1() TEST(JGrid, Simple2x1Grid)
{ {
JWidget grid = jgrid_new(2, false); JWidget grid = jgrid_new(2, false);
JWidget w1 = jwidget_new(JI_WIDGET); JWidget w1 = new Widget(JI_WIDGET);
JWidget w2 = jwidget_new(JI_WIDGET); JWidget w2 = new Widget(JI_WIDGET);
int req_w, req_h;
jwidget_set_min_size(w1, 10, 10); jwidget_set_min_size(w1, 10, 10);
jwidget_set_min_size(w2, 10, 10); jwidget_set_min_size(w2, 10, 10);
@ -35,36 +37,39 @@ static void test_grid_2x1()
jgrid_add_child(grid, w1, 1, 1, 0); jgrid_add_child(grid, w1, 1, 1, 0);
jgrid_add_child(grid, w2, 1, 1, 0); jgrid_add_child(grid, w2, 1, 1, 0);
/* test request-size */ // Test request-size
jwidget_request_size(grid, &req_w, &req_h); Size reqSize = grid->getPreferredSize();
ASSERT(req_w == 20 && req_h == 10); EXPECT_EQ(20, reqSize.w);
EXPECT_EQ(10, reqSize.h);
/* test child-spacing */ // Test child-spacing
grid->child_spacing = 2; grid->child_spacing = 2;
jwidget_request_size(grid, &req_w, &req_h); reqSize = grid->getPreferredSize();
ASSERT(req_w == 22 && req_h == 10); EXPECT_EQ(22, reqSize.w);
EXPECT_EQ(10, reqSize.h);
/* test borders */ // Test borders
grid->border_width.l = 3; grid->border_width.l = 3;
grid->border_width.b = 3; grid->border_width.b = 3;
jwidget_request_size(grid, &req_w, &req_h); reqSize = grid->getPreferredSize();
ASSERT(req_w == 25 && req_h == 13); EXPECT_EQ(25, reqSize.w);
EXPECT_EQ(13, reqSize.h);
grid->border_width.r = 5; grid->border_width.r = 5;
grid->border_width.t = 2; grid->border_width.t = 2;
jwidget_request_size(grid, &req_w, &req_h); reqSize = grid->getPreferredSize();
ASSERT(req_w == 30 && req_h == 15); EXPECT_EQ(30, reqSize.w);
EXPECT_EQ(15, reqSize.h);
jwidget_free(grid); delete grid;
} }
static void test_grid_2x1_expand2nd() TEST(JGrid, Expand2ndWidget)
{ {
JWidget grid = jgrid_new(2, false); Widget* grid = jgrid_new(2, false);
JWidget w1 = jwidget_new(JI_WIDGET); Widget* w1 = new Widget(JI_WIDGET);
JWidget w2 = jwidget_new(JI_WIDGET); Widget* w2 = new Widget(JI_WIDGET);
JRect rect; JRect rect;
int req_w, req_h;
jwidget_set_min_size(w1, 20, 20); jwidget_set_min_size(w1, 20, 20);
jwidget_set_min_size(w2, 10, 10); jwidget_set_min_size(w2, 10, 10);
@ -72,35 +77,35 @@ static void test_grid_2x1_expand2nd()
jgrid_add_child(grid, w1, 1, 1, 0); jgrid_add_child(grid, w1, 1, 1, 0);
jgrid_add_child(grid, w2, 1, 1, JI_HORIZONTAL | JI_TOP); jgrid_add_child(grid, w2, 1, 1, JI_HORIZONTAL | JI_TOP);
/* test request size */ // Test request size
jwidget_request_size(grid, &req_w, &req_h); Size reqSize = grid->getPreferredSize();
ASSERT(req_w == 30 && req_h == 20); EXPECT_EQ(30, reqSize.w);
EXPECT_EQ(20, reqSize.h);
/* test layout */ // Test layout
rect = jrect_new(0, 0, 40, 20); rect = jrect_new(0, 0, 40, 20);
jwidget_set_rect(grid, rect); jwidget_set_rect(grid, rect);
jrect_free(rect); jrect_free(rect);
ASSERT(w1->rc->x1 == 0); EXPECT_EQ(0, w1->rc->x1);
ASSERT(w1->rc->y1 == 0); EXPECT_EQ(0, w1->rc->y1);
ASSERT(jrect_w(w1->rc) == 20); EXPECT_EQ(20, jrect_w(w1->rc));
ASSERT(jrect_h(w1->rc) == 20); EXPECT_EQ(20, jrect_h(w1->rc));
ASSERT(w2->rc->x1 == 20); EXPECT_EQ(20, w2->rc->x1);
ASSERT(w2->rc->y1 == 0); EXPECT_EQ(0, w2->rc->y1);
ASSERT(jrect_w(w2->rc) == 20); EXPECT_EQ(20, jrect_w(w2->rc));
ASSERT(jrect_h(w2->rc) == 10); EXPECT_EQ(10, jrect_h(w2->rc));
jwidget_free(grid); delete grid;
} }
static void test_grid_2x1_samewidth() TEST(JGrid, SameWidth2x1Grid)
{ {
JWidget grid = jgrid_new(2, true); JWidget grid = jgrid_new(2, true);
JWidget w1 = jwidget_new(JI_WIDGET); JWidget w1 = new Widget(JI_WIDGET);
JWidget w2 = jwidget_new(JI_WIDGET); JWidget w2 = new Widget(JI_WIDGET);
JRect rect; JRect rect;
int req_w, req_h;
jwidget_set_min_size(w1, 20, 20); jwidget_set_min_size(w1, 20, 20);
jwidget_set_min_size(w2, 10, 10); jwidget_set_min_size(w2, 10, 10);
@ -108,21 +113,22 @@ static void test_grid_2x1_samewidth()
jgrid_add_child(grid, w1, 1, 1, 0); jgrid_add_child(grid, w1, 1, 1, 0);
jgrid_add_child(grid, w2, 1, 1, 0); jgrid_add_child(grid, w2, 1, 1, 0);
/* test request size */ // Test request size
jwidget_request_size(grid, &req_w, &req_h); Size reqSize = grid->getPreferredSize();
ASSERT(req_w == 40 && req_h == 20); EXPECT_EQ(40, reqSize.w);
EXPECT_EQ(20, reqSize.h);
/* test layout */ // Test layout
rect = jrect_new(0, 0, 60, 20); rect = jrect_new(0, 0, 60, 20);
jwidget_set_rect(grid, rect); jwidget_set_rect(grid, rect);
jrect_free(rect); jrect_free(rect);
ASSERT(w1->rc->x1 == 0); EXPECT_EQ(0, w1->rc->x1);
ASSERT(w2->rc->x1 == 30); EXPECT_EQ(30, w2->rc->x1);
ASSERT(jrect_w(w1->rc) == 30); EXPECT_EQ(30, jrect_w(w1->rc));
ASSERT(jrect_w(w2->rc) == 30); EXPECT_EQ(30, jrect_w(w2->rc));
jwidget_free(grid); delete grid;
} }
/** /**
@ -163,15 +169,14 @@ static void test_grid_2x1_samewidth()
* +----------------------------+---+ * +----------------------------+---+
* </pre> * </pre>
*/ */
static void test_grid_3x3_intrincate() TEST(JGrid, Intrincate3x3Grid)
{ {
JWidget grid = jgrid_new(3, false); Widget* grid = jgrid_new(3, false);
JWidget w1 = jwidget_new(JI_WIDGET); Widget* w1 = new Widget(JI_WIDGET);
JWidget w2 = jwidget_new(JI_WIDGET); Widget* w2 = new Widget(JI_WIDGET);
JWidget w3 = jwidget_new(JI_WIDGET); Widget* w3 = new Widget(JI_WIDGET);
JWidget w4 = jwidget_new(JI_WIDGET); Widget* w4 = new Widget(JI_WIDGET);
JRect rect; JRect rect;
int req_w, req_h;
jwidget_set_min_size(w1, 10, 10); jwidget_set_min_size(w1, 10, 10);
jwidget_set_min_size(w2, 10, 10); jwidget_set_min_size(w2, 10, 10);
@ -183,39 +188,34 @@ static void test_grid_3x3_intrincate()
jgrid_add_child(grid, w3, 2, 2, JI_HORIZONTAL | JI_VERTICAL); jgrid_add_child(grid, w3, 2, 2, JI_HORIZONTAL | JI_VERTICAL);
jgrid_add_child(grid, w4, 1, 2, JI_VERTICAL); jgrid_add_child(grid, w4, 1, 2, JI_VERTICAL);
/* test request size */ // Test request size
grid->child_spacing = 2; grid->child_spacing = 2;
jwidget_request_size(grid, &req_w, &req_h); Size reqSize = grid->getPreferredSize();
ASSERT(req_w == 22 && req_h == 22); EXPECT_EQ(22, reqSize.w);
EXPECT_EQ(22, reqSize.h);
/* test layout */ // Test layout
rect = jrect_new(0, 0, 100, 100); rect = jrect_new(0, 0, 100, 100);
jwidget_set_rect(grid, rect); jwidget_set_rect(grid, rect);
jrect_free(rect); jrect_free(rect);
ASSERT(w1->rc->x1 == 0 && w1->rc->y1 == 0); EXPECT_EQ(0, w1->rc->x1);
ASSERT(w2->rc->x1 == 12 && w2->rc->y1 == 0); EXPECT_EQ(0, w1->rc->y1);
ASSERT(w3->rc->x1 == 0 && w3->rc->y1 == 12); EXPECT_EQ(12, w2->rc->x1);
ASSERT(w4->rc->x1 == 90 && w4->rc->y1 == 12); EXPECT_EQ(0, w2->rc->y1);
EXPECT_EQ(0, w3->rc->x1);
EXPECT_EQ(12, w3->rc->y1);
EXPECT_EQ(90, w4->rc->x1);
EXPECT_EQ(12, w4->rc->y1);
ASSERT(jrect_w(w1->rc) == 10 && jrect_h(w1->rc) == 10); EXPECT_EQ(10, jrect_w(w1->rc));
ASSERT(jrect_w(w2->rc) == 88 && jrect_h(w2->rc) == 10); EXPECT_EQ(10, jrect_h(w1->rc));
ASSERT(jrect_w(w3->rc) == 88 && jrect_h(w3->rc) == 88); EXPECT_EQ(88, jrect_w(w2->rc));
ASSERT(jrect_w(w4->rc) == 10 && jrect_h(w4->rc) == 88); EXPECT_EQ(10, jrect_h(w2->rc));
EXPECT_EQ(88, jrect_w(w3->rc));
EXPECT_EQ(88, jrect_h(w3->rc));
EXPECT_EQ(10, jrect_w(w4->rc));
EXPECT_EQ(88, jrect_h(w4->rc));
jwidget_free(grid); delete grid;
} }
int main(int argc, char *argv[])
{
JWidget manager = test_init_gui();
test_grid_2x1();
test_grid_2x1_expand2nd();
test_grid_2x1_samewidth();
test_grid_3x3_intrincate();
return test_exit_gui(manager);
}
END_OF_MAIN();