/** * This is a test for pointergrid in $package$ */ #include "si_test.h" #include "pointergrid.h" TEST_FUNC(pointergrid) { PointerGrid matrix_struct; PointerGrid * matrix = &matrix_struct; int i1 = 123; int i2 = 234; int i3 = 354; int i4 = 456; void * get; void * p1 = &i1; void * p2 = &i2; void * p3 = &i3; void * p4 = &i4; TEST_NOTNULL(pointergrid_init(matrix, 5, 7)); TEST_FALSE(pointergrid_put(matrix, 3, 4, p1)); TEST_FALSE(pointergrid_put(matrix, 0, 0, p2)); TEST_TRUE(pointergrid_put(matrix, 5, 4, p3)); TEST_TRUE(pointergrid_put(matrix, 1, 7, p3)); TEST_TRUE(pointergrid_put(matrix, 10, 20, p4)); TEST_PTREQ(p1, pointergrid_getraw(matrix, 3, 4)); TEST_PTREQ(p2, pointergrid_getraw(matrix, 0, 0)); TEST_FALSE(pointergrid_get(matrix, 3, 4, &get)); TEST_PTREQ(p1, get); TEST_FALSE(pointergrid_get(matrix, 0, 0, &get)); TEST_PTREQ(p2, get); TEST_TRUE(pointergrid_get(matrix, 5, 4, &get)); TEST_TRUE(pointergrid_get(matrix, 1, 7, &get)); TEST_TRUE(pointergrid_get(matrix, 10, 20, &get)); TEST_NOTNULL(pointergrid_done(matrix, NULL)); TEST_DONE(); } int main(void) { TEST_INIT(); TEST_RUN(pointergrid); TEST_REPORT(); }