box gradient unit tests #42

pull/114/head
nick black 5 years ago committed by Nick Black
parent bdc841e46e
commit b711eaeedd

@ -571,3 +571,71 @@ TEST_F(NcplaneTest, PlaneAtCursorAttrs){
ASSERT_EQ(1, ncplane_at_cursor(n_, &testcell));
EXPECT_EQ(testcell.gcluster, STR3[strlen(STR3) - 1]);
}
TEST_F(NcplaneTest, BoxSideColors) {
int dimx, dimy;
ncplane_dim_yx(n_, &dimy, &dimx);
ASSERT_LT(12, dimy);
ASSERT_LT(24, dimx);
cell ul{}, ll{}, lr{}, ur{}, hl{}, vl{};
ASSERT_EQ(0, cells_rounded_box(n_, 0, 0, &ul, &ur, &ll, &lr, &hl, &vl));
// we'll try all 16 boxmasks in 4x4 configurations in a 4x4 map
EXPECT_EQ(0, notcurses_fg_prep(&ul.channels, 255, 0, 0));
EXPECT_EQ(0, notcurses_fg_prep(&ur.channels, 0, 255, 0));
EXPECT_EQ(0, notcurses_fg_prep(&ll.channels, 0, 0, 255));
EXPECT_EQ(0, notcurses_fg_prep(&lr.channels, 0, 0, 0));
EXPECT_EQ(0, notcurses_fg_prep(&hl.channels, 255, 0, 255));
EXPECT_EQ(0, notcurses_fg_prep(&vl.channels, 255, 255, 255));
unsigned boxmask = 0;
for(auto y0 = 0 ; y0 < 4 ; ++y0){
for(auto x0 = 0 ; x0 < 4 ; ++x0){
EXPECT_EQ(0, ncplane_cursor_move_yx(n_, y0 * 4, x0 * 4));
EXPECT_EQ(0, ncplane_box_sized(n_, &ul, &ur, &ll, &lr, &hl, &vl,
4, 4, boxmask));
++boxmask;
}
}
boxmask = 0;
for(auto y0 = 0 ; y0 < 4 ; ++y0){
for(auto x0 = 0 ; x0 < 4 ; ++x0){
EXPECT_EQ(0, ncplane_cursor_move_yx(n_, y0 * 4, x0 * 4 + 12));
EXPECT_EQ(0, ncplane_box_sized(n_, &ul, &ur, &ll, &lr, &hl, &vl,
4, 4, boxmask));
++boxmask;
}
}
EXPECT_EQ(0, notcurses_render(nc_));
}
TEST_F(NcplaneTest, BoxGradients) {
int dimx, dimy;
ncplane_dim_yx(n_, &dimy, &dimx);
ASSERT_LT(16, dimy);
ASSERT_LT(32, dimx);
cell ul{}, ll{}, lr{}, ur{}, hl{}, vl{};
ASSERT_EQ(0, cells_double_box(n_, 0, 0, &ul, &ur, &ll, &lr, &hl, &vl));
EXPECT_EQ(0, notcurses_fg_prep(&ul.channels, 255, 0, 0));
EXPECT_EQ(0, notcurses_fg_prep(&ur.channels, 0, 255, 0));
EXPECT_EQ(0, notcurses_fg_prep(&ll.channels, 0, 0, 255));
EXPECT_EQ(0, notcurses_fg_prep(&lr.channels, 255, 255, 255));
// we'll try all 16 boxmasks in 4x4 configurations in a 4x4 map
unsigned gradmask = 0;
for(auto y0 = 0 ; y0 < 4 ; ++y0){
for(auto x0 = 0 ; x0 < 4 ; ++x0){
EXPECT_EQ(0, ncplane_cursor_move_yx(n_, y0 * 4, x0 * 4));
EXPECT_EQ(0, ncplane_box_sized(n_, &ul, &ur, &ll, &lr, &hl, &vl,
4, 4, gradmask));
++gradmask;
}
}
gradmask = 0;
for(auto y0 = 0 ; y0 < 4 ; ++y0){
for(auto x0 = 0 ; x0 < 4 ; ++x0){
EXPECT_EQ(0, ncplane_cursor_move_yx(n_, y0 * 4, x0 * 4 + 16));
EXPECT_EQ(0, ncplane_box_sized(n_, &ul, &ur, &ll, &lr, &hl, &vl,
4, 4, gradmask));
++gradmask;
}
}
EXPECT_EQ(0, notcurses_render(nc_));
}

Loading…
Cancel
Save