# HG changeset patch # User matac42 # Date 1706256203 -32400 # Node ID 71d4c7326f26964007f8df843e790287b6b33c3b # Parent b76db8c133b8e8253a7bff1443192c61456b3981 add test diff -r b76db8c133b8 -r 71d4c7326f26 src/parallel_execution/test/rbTreeCopy_test.cbc --- a/src/parallel_execution/test/rbTreeCopy_test.cbc Fri Jan 26 17:03:15 2024 +0900 +++ b/src/parallel_execution/test/rbTreeCopy_test.cbc Fri Jan 26 17:03:23 2024 +0900 @@ -73,9 +73,98 @@ __code assert1(struct Tree* tree) { printf("assert1\n"); + goto rbTreeTest5(context,tree); +} + +__code rbTreeTest5(struct Tree* tree) { + printf("Test5\n"); + Node* node = new Node(); + node->value = (union Data*)new Integer(); + ((Integer*)node->value)->value = 1; + node->key = 1; + printf("value->%d,key->%d\n",((Integer*)node->value)->value,node->key); + goto tree->put(node, rbTreeTest6); +} + +__code rbTreeTest5_stub(struct Context* context) { + printf("test5_stub\n"); + Tree* tree = createRedBlackTree(context); + goto rbTreeTest5(context,tree); +} + +__code rbTreeTest6(struct Tree* tree) { + printf("Test6\n"); + Node* node = new Node(); + node->value = (union Data*)new Integer(); + ((Integer*)node->value)->value = 2; + node->key = 2; + printf("value->%d,key->%d\n",((Integer*)node->value)->value,node->key); + goto tree->put(node, rbTreeTest7); +} + +__code rbTreeTest6_stub(struct Context* context) { + printf("test6_stub\n"); + Tree* tree = (struct Tree*)Gearef(context, Tree)->tree; + goto rbTreeTest6(context,tree); +} + +__code rbTreeTest7(struct Tree* tree) { + printf("Test7\n"); + Node* node = new Node(); + node->value = (union Data*)new Integer(); + ((Integer*)node->value)->value = 3; + node->key = 3; + printf("value->%d,key->%d\n",((Integer*)node->value)->value,node->key); + goto tree->put(node, rbTreeTest8); +} + +__code rbTreeTest7_stub(struct Context* context) { + printf("test7_stub\n"); + Tree* tree = (struct Tree*)Gearef(context, Tree)->tree; + goto rbTreeTest7(context,tree); +} + +__code rbTreeTest8(struct Tree* tree) { + printf("Test8\n"); + Node* node = new Node(); + node->value = (union Data*)new Integer(); + ((Integer*)node->value)->value = 4; + node->key = 4; + printf("value->%d,key->%d\n",((Integer*)node->value)->value,node->key); + goto tree->put(node, rbTreeTest9); +} + +__code rbTreeTest8_stub(struct Context* context) { + printf("test8_stub\n"); + Tree* tree = (struct Tree*)Gearef(context, Tree)->tree; + goto rbTreeTest8(context,tree); +} + +// +// 2(B) +// / \ +// 1(B) 3(B) +// \ +// 4(R) + +__code rbTreeTest9(struct Tree* tree) { + printf("test9\n"); + Node* node = new Node(); + node->value = (union Data*)new Integer(); + goto tree->copy(node, assert2); +} + +__code rbTreeTest9_stub(struct Context* context) { + printf("test9_stub\n"); + Tree* tree = (struct Tree*)Gearef(context, Tree)->tree; + goto rbTreeTest9(context,tree); +} + +__code assert2(struct Tree* tree) { + printf("assert2\n"); } int main(int argc, char const* argv[]) { printf("test_main\n"); - goto rbTreeTest1(); + goto rbTreeTest5(); }