changeset 1067:7b709b959f7c

add rbTreeCopy test
author matac42 <matac@cr.ie.u-ryukyu.ac.jp>
date Sun, 04 Feb 2024 18:54:28 +0900
parents bd8d529b1432
children 1740802ab0af
files src/parallel_execution/test/rbTreeCopy_test3.cbc
diffstat 1 files changed, 429 insertions(+), 1 deletions(-) [+]
line wrap: on
line diff
--- a/src/parallel_execution/test/rbTreeCopy_test3.cbc	Sun Feb 04 17:26:38 2024 +0900
+++ b/src/parallel_execution/test/rbTreeCopy_test3.cbc	Sun Feb 04 18:54:28 2024 +0900
@@ -940,9 +940,433 @@
   goto exit_code();
 }
 
+// Case12
+// 
+//      4(B)
+//     /    \
+//   2(B)   6(B)
+//   /         \
+// 1(R)         7(R)
+
+__code rbTreeTest12_1(struct Tree* tree) {
+  printf("Test12_1\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, rbTreeTest12_2);
+}
+
+__code rbTreeTest12_1_stub(struct Context* context) {
+  printf("Test12_1_stub\n");
+  Tree* tree = createRedBlackTree(context);
+  goto rbTreeTest12_1(context,tree);
+}
+
+__code rbTreeTest12_2(struct Tree* tree) {
+  printf("Test12_2\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, rbTreeTest12_3);
+}
+
+__code rbTreeTest12_2_stub(struct Context* context) {
+  printf("Test12_2_stub\n");
+  Tree* tree = (struct Tree*)Gearef(context, Tree)->tree;
+  goto rbTreeTest12_2(context,tree);
+}
+
+__code rbTreeTest12_3(struct Tree* tree) {
+  printf("Test12_3\n");
+  Node* node = new Node();
+  node->value = (union Data*)new Integer();
+  ((Integer*)node->value)->value = 6;
+  node->key = 6;
+  printf("value->%d,key->%d\n",((Integer*)node->value)->value,node->key);
+  goto tree->put(node, rbTreeTest12_4);
+}
+
+__code rbTreeTest12_3_stub(struct Context* context) {
+  printf("Test12_3_stub\n");
+  Tree* tree = (struct Tree*)Gearef(context, Tree)->tree;
+  goto rbTreeTest12_3(context,tree);
+}
+
+__code rbTreeTest12_4(struct Tree* tree) {
+  printf("Test12_4\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, rbTreeTest12_5);
+}
+
+__code rbTreeTest12_4_stub(struct Context* context) {
+  printf("Test12_4_stub\n");
+  Tree* tree = (struct Tree*)Gearef(context, Tree)->tree;
+  goto rbTreeTest12_4(context,tree);
+}
+
+__code rbTreeTest12_5(struct Tree* tree) {
+  printf("Test12_5\n");
+  Node* node = new Node();
+  node->value = (union Data*)new Integer();
+  ((Integer*)node->value)->value = 7;
+  node->key = 7;
+  printf("value->%d,key->%d\n",((Integer*)node->value)->value,node->key);
+  goto tree->put(node, rbTreeTest12_6);
+}
+
+__code rbTreeTest12_5_stub(struct Context* context) {
+  printf("Test12_5_stub\n");
+  Tree* tree = (struct Tree*)Gearef(context, Tree)->tree;
+  goto rbTreeTest12_5(context,tree);
+}
+
+__code rbTreeTest12_6(struct Tree* tree) {
+  printf("Test12_6\n");
+  Node* node = new Node();
+  node->value = (union Data*)new Integer();
+  goto tree->copy(assert12);
+}
+
+__code rbTreeTest12_6_stub(struct Context* context) {
+  printf("Test12_6_stub\n");
+  Tree* tree = (struct Tree*)Gearef(context, Tree)->tree;
+  goto rbTreeTest12_6(context,tree);
+}
+
+__code assert12(struct Tree* tree) {
+  printf("assert12\n");
+  goto exit_code();
+}
+
+// Case13
+// 
+//      4(B)
+//     /    \
+//   2(B)   6(B)
+//   /       /
+// 1(R)    5(R)
+
+__code rbTreeTest13_1(struct Tree* tree) {
+  printf("Test13_1\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, rbTreeTest13_2);
+}
+
+__code rbTreeTest13_1_stub(struct Context* context) {
+  printf("Test13_1_stub\n");
+  Tree* tree = createRedBlackTree(context);
+  goto rbTreeTest13_1(context,tree);
+}
+
+__code rbTreeTest13_2(struct Tree* tree) {
+  printf("Test13_2\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, rbTreeTest13_3);
+}
+
+__code rbTreeTest13_2_stub(struct Context* context) {
+  printf("Test13_2_stub\n");
+  Tree* tree = (struct Tree*)Gearef(context, Tree)->tree;
+  goto rbTreeTest13_2(context,tree);
+}
+
+__code rbTreeTest13_3(struct Tree* tree) {
+  printf("Test13_3\n");
+  Node* node = new Node();
+  node->value = (union Data*)new Integer();
+  ((Integer*)node->value)->value = 6;
+  node->key = 6;
+  printf("value->%d,key->%d\n",((Integer*)node->value)->value,node->key);
+  goto tree->put(node, rbTreeTest13_4);
+}
+
+__code rbTreeTest13_3_stub(struct Context* context) {
+  printf("Test13_3_stub\n");
+  Tree* tree = (struct Tree*)Gearef(context, Tree)->tree;
+  goto rbTreeTest13_3(context,tree);
+}
+
+__code rbTreeTest13_4(struct Tree* tree) {
+  printf("Test13_4\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, rbTreeTest13_5);
+}
+
+__code rbTreeTest13_4_stub(struct Context* context) {
+  printf("Test13_4_stub\n");
+  Tree* tree = (struct Tree*)Gearef(context, Tree)->tree;
+  goto rbTreeTest13_4(context,tree);
+}
+
+__code rbTreeTest13_5(struct Tree* tree) {
+  printf("Test13_5\n");
+  Node* node = new Node();
+  node->value = (union Data*)new Integer();
+  ((Integer*)node->value)->value = 5;
+  node->key = 5;
+  printf("value->%d,key->%d\n",((Integer*)node->value)->value,node->key);
+  goto tree->put(node, rbTreeTest13_6);
+}
+
+__code rbTreeTest13_5_stub(struct Context* context) {
+  printf("Test13_5_stub\n");
+  Tree* tree = (struct Tree*)Gearef(context, Tree)->tree;
+  goto rbTreeTest13_5(context,tree);
+}
+
+__code rbTreeTest13_6(struct Tree* tree) {
+  printf("Test13_6\n");
+  Node* node = new Node();
+  node->value = (union Data*)new Integer();
+  goto tree->copy(assert13);
+}
+
+__code rbTreeTest13_6_stub(struct Context* context) {
+  printf("Test13_6_stub\n");
+  Tree* tree = (struct Tree*)Gearef(context, Tree)->tree;
+  goto rbTreeTest13_6(context,tree);
+}
+
+__code assert13(struct Tree* tree) {
+  printf("assert13\n");
+  goto exit_code();
+}
+
+// Case14
+// 
+//      4(B)
+//     /    \
+//   2(B)   6(B)
+//     \     /
+//    3(R) 5(R)
+
+__code rbTreeTest14_1(struct Tree* tree) {
+  printf("Test14_1\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, rbTreeTest14_2);
+}
+
+__code rbTreeTest14_1_stub(struct Context* context) {
+  printf("Test14_1_stub\n");
+  Tree* tree = createRedBlackTree(context);
+  goto rbTreeTest14_1(context,tree);
+}
+
+__code rbTreeTest14_2(struct Tree* tree) {
+  printf("Test14_2\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, rbTreeTest14_3);
+}
+
+__code rbTreeTest14_2_stub(struct Context* context) {
+  printf("Test14_2_stub\n");
+  Tree* tree = (struct Tree*)Gearef(context, Tree)->tree;
+  goto rbTreeTest14_2(context,tree);
+}
+
+__code rbTreeTest14_3(struct Tree* tree) {
+  printf("Test14_3\n");
+  Node* node = new Node();
+  node->value = (union Data*)new Integer();
+  ((Integer*)node->value)->value = 6;
+  node->key = 6;
+  printf("value->%d,key->%d\n",((Integer*)node->value)->value,node->key);
+  goto tree->put(node, rbTreeTest14_4);
+}
+
+__code rbTreeTest14_3_stub(struct Context* context) {
+  printf("Test14_3_stub\n");
+  Tree* tree = (struct Tree*)Gearef(context, Tree)->tree;
+  goto rbTreeTest14_3(context,tree);
+}
+
+__code rbTreeTest14_4(struct Tree* tree) {
+  printf("Test14_4\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, rbTreeTest14_5);
+}
+
+__code rbTreeTest14_4_stub(struct Context* context) {
+  printf("Test14_4_stub\n");
+  Tree* tree = (struct Tree*)Gearef(context, Tree)->tree;
+  goto rbTreeTest14_4(context,tree);
+}
+
+__code rbTreeTest14_5(struct Tree* tree) {
+  printf("Test14_5\n");
+  Node* node = new Node();
+  node->value = (union Data*)new Integer();
+  ((Integer*)node->value)->value = 5;
+  node->key = 5;
+  printf("value->%d,key->%d\n",((Integer*)node->value)->value,node->key);
+  goto tree->put(node, rbTreeTest14_6);
+}
+
+__code rbTreeTest14_5_stub(struct Context* context) {
+  printf("Test14_5_stub\n");
+  Tree* tree = (struct Tree*)Gearef(context, Tree)->tree;
+  goto rbTreeTest14_5(context,tree);
+}
+
+__code rbTreeTest14_6(struct Tree* tree) {
+  printf("Test14_6\n");
+  Node* node = new Node();
+  node->value = (union Data*)new Integer();
+  goto tree->copy(assert14);
+}
+
+__code rbTreeTest14_6_stub(struct Context* context) {
+  printf("Test14_6_stub\n");
+  Tree* tree = (struct Tree*)Gearef(context, Tree)->tree;
+  goto rbTreeTest14_6(context,tree);
+}
+
+__code assert14(struct Tree* tree) {
+  printf("assert14\n");
+  goto exit_code();
+}
+
+// Case15
+// 
+//      4(B)
+//     /    \
+//   2(B)   6(B)
+//     \      \
+//    3(R)    7(R)
+
+__code rbTreeTest15_1(struct Tree* tree) {
+  printf("Test15_1\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, rbTreeTest15_2);
+}
+
+__code rbTreeTest15_1_stub(struct Context* context) {
+  printf("Test15_1_stub\n");
+  Tree* tree = createRedBlackTree(context);
+  goto rbTreeTest15_1(context,tree);
+}
+
+__code rbTreeTest15_2(struct Tree* tree) {
+  printf("Test15_2\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, rbTreeTest15_3);
+}
+
+__code rbTreeTest15_2_stub(struct Context* context) {
+  printf("Test15_2_stub\n");
+  Tree* tree = (struct Tree*)Gearef(context, Tree)->tree;
+  goto rbTreeTest15_2(context,tree);
+}
+
+__code rbTreeTest15_3(struct Tree* tree) {
+  printf("Test15_3\n");
+  Node* node = new Node();
+  node->value = (union Data*)new Integer();
+  ((Integer*)node->value)->value = 6;
+  node->key = 6;
+  printf("value->%d,key->%d\n",((Integer*)node->value)->value,node->key);
+  goto tree->put(node, rbTreeTest15_4);
+}
+
+__code rbTreeTest15_3_stub(struct Context* context) {
+  printf("Test15_3_stub\n");
+  Tree* tree = (struct Tree*)Gearef(context, Tree)->tree;
+  goto rbTreeTest15_3(context,tree);
+}
+
+__code rbTreeTest15_4(struct Tree* tree) {
+  printf("Test15_4\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, rbTreeTest15_5);
+}
+
+__code rbTreeTest15_4_stub(struct Context* context) {
+  printf("Test15_4_stub\n");
+  Tree* tree = (struct Tree*)Gearef(context, Tree)->tree;
+  goto rbTreeTest15_4(context,tree);
+}
+
+__code rbTreeTest15_5(struct Tree* tree) {
+  printf("Test15_5\n");
+  Node* node = new Node();
+  node->value = (union Data*)new Integer();
+  ((Integer*)node->value)->value = 7;
+  node->key = 7;
+  printf("value->%d,key->%d\n",((Integer*)node->value)->value,node->key);
+  goto tree->put(node, rbTreeTest15_6);
+}
+
+__code rbTreeTest15_5_stub(struct Context* context) {
+  printf("Test15_5_stub\n");
+  Tree* tree = (struct Tree*)Gearef(context, Tree)->tree;
+  goto rbTreeTest15_5(context,tree);
+}
+
+__code rbTreeTest15_6(struct Tree* tree) {
+  printf("Test15_6\n");
+  Node* node = new Node();
+  node->value = (union Data*)new Integer();
+  goto tree->copy(assert15);
+}
+
+__code rbTreeTest15_6_stub(struct Context* context) {
+  printf("Test15_6_stub\n");
+  Tree* tree = (struct Tree*)Gearef(context, Tree)->tree;
+  goto rbTreeTest15_6(context,tree);
+}
+
+__code assert15(struct Tree* tree) {
+  printf("assert15\n");
+  goto exit_code();
+}
+
 int main(int argc, char const* argv[]) {
   printf("test_main\n");
-  goto rbTreeTest1_1();
+  // goto rbTreeTest1_1();
   // goto rbTreeTest2_1();
   // goto rbTreeTest3_1();
   // goto rbTreeTest4_1();
@@ -953,4 +1377,8 @@
   // goto rbTreeTest9_1();
   // goto rbTreeTest10_1();
   // goto rbTreeTest11_1();
+  // goto rbTreeTest12_1();
+  // goto rbTreeTest13_1();
+  // goto rbTreeTest14_1();
+  goto rbTreeTest15_1();
 }