#include "tileset/TileAdjacencyBehaviorSet.h" #include "unittest/TestSuite.h" static void testCreate(void) { TileAdjacencyBehaviorSet * behaviorSet = TileAdjacencyBehaviorSet_create(0, NULL, 0, NULL, false); TestCase_assertPointerNonNULL(behaviorSet); TestCase_assertUIntEqual(behaviorSet->identifier, 0); TestCase_assertPointerNULL(behaviorSet->name); TestCase_assertUIntEqual(behaviorSet->behaviorCount, 0); TileAdjacencyBehaviorSet_dispose(behaviorSet); TileAdjacencyRule rule = {TILE_CONDITION_MATCH_SINGLE, {.single = {{1, 2}, 3}}}; TileAdjacencyBehavior behavior = TileAdjacencyBehavior_init(0, false, rule, RECT4i(1, 2, 3, 4), 0, NULL, true); behaviorSet = TileAdjacencyBehaviorSet_create(2, "test", 1, &behavior, true); TestCase_assertPointerNonNULL(behaviorSet); TestCase_assertUIntEqual(behaviorSet->identifier, 2); TestCase_assertStringEqual(behaviorSet->name, "test"); TestCase_assertUIntEqual(behaviorSet->behaviorCount, 1); TestCase_assertPointerNonNULL(behaviorSet->behaviors); TestCase_assertUIntEqual(behaviorSet->behaviors[0].ownTileID, 0); TestCase_assertIntEqual(behaviorSet->behaviors[0].rule.type, TILE_CONDITION_MATCH_SINGLE); TestCase_assertIntEqual(behaviorSet->behaviors[0].rule.rule.single.offset.x, 1); TestCase_assertIntEqual(behaviorSet->behaviors[0].rule.rule.single.offset.y, 2); TestCase_assertUIntEqual(behaviorSet->behaviors[0].rule.rule.single.tileID, 3); TestCase_assertUIntEqual(behaviorSet->behaviors[0].overlayCount, 0); TileAdjacencyBehaviorSet_dispose(behaviorSet); } TEST_SUITE(TileAdjacencyBehaviorSetTest, testCreate)