Mercurial > hg > Gears > Gears
view src/parallel_execution/test/rb_tree_test1.cbc @ 983:d855932884b7
add put remove for test
author | matac42 <matac@cr.ie.u-ryukyu.ac.jp> |
---|---|
date | Thu, 28 Oct 2021 14:02:34 +0900 |
parents | 449a78f0cddd |
children | 793b21a8ea12 |
line wrap: on
line source
#include <stdio.h> #include "../../context.h" #interface "Tree.h" __code createRBTreeTest(struct Tree* tree) { printf("---create\n"); Gearef(context, Tree)->tree = tree; goto putDataTest1(); } // 手書きstub __code createRBTreeTest_stub(struct Context* context) { printf("---create stub\n"); Tree* tree = createRedBlackTree(context); goto createRBTreeTest(context, tree); } __code putDataTest1(struct Tree* tree) { printf("---put1\n"); Node* node = new Node(); node->key = 0; Queue* queue = createSynchronizedQueue(context); node->value = queue; // tree->putの場所がわかれば良い... goto tree->put(node, putDataTest2); } // 手書きstub __code putDataTest1_stub(struct Context* context) { printf("---put1 stub\n"); Tree* tree = (struct Tree*)Gearef(context, Tree)->tree; goto putDataTest1(context, tree); } __code putDataTest2(struct Tree* tree) { printf("---put2\n"); Node* node = new Node(); node->key = 1; Queue* queue = createSynchronizedQueue(context); node->value = queue; goto tree->put(node, removeDataTest); } // 手書きstub __code putDataTest2_stub(struct Context* context) { printf("---put2 stub\n"); Tree* tree = (struct Tree*)Gearef(context, Tree)->tree; goto putDataTest2(context, tree); } __code removeDataTest(struct Tree* tree) { printf("---remove\n"); Node* node = new Node(); node->key = 1; Queue* queue = createSynchronizedQueue(context); node->value = queue; goto tree->remove(node, printResult); } // 手書きstub __code removeDataTest_stub(struct Context* context) { printf("---remove stub\n"); Tree* tree = (struct Tree*)Gearef(context, Tree)->tree; goto removeDataTest(context, tree); } // 動作未確認 __code printResult(struct Tree* tree) { printf("---result\n"); struct Node* node = &(tree->tree)->Node; if (node == NULL) { printf("NULL"); } else { printf("key = %d (", node->key); printTree1((union Data*)(node->right)); printf("), ("); printTree1((union Data*)(node->left)); printf(")"); } printf("\n"); goto exit_code(context); } // 手書きstub __code printResult_stub(struct Context* context) { printf("---result stub\n"); Tree* tree = (struct Tree*)Gearef(context, Tree)->tree; goto printResult(context, tree); } int main(int argc, char const* argv[]) { goto createRBTreeTest(); }