view src/parallel_execution/test/rbTree_test.cbc @ 992:a7d1288cf58e

merge
author ichikitakahiro <e165713@ie.u-ryukyu.ac.jp>
date Fri, 03 Dec 2021 20:57:41 +0900
parents 3c9f6fda000d 0ee98fba0503
children 088a7d2b203d
line wrap: on
line source

#include <stdio.h>
#include "../../context.h"
#interface "Tree.h"

/* #include <assert.h> */

__code rbTreeTest1(struct Tree* tree) {
  printf("Test1\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, rbTreeTest2);
}

__code rbTreeTest1_stub(struct Context* context) {
  printf("test1_stub\n");
  Tree* tree = createRedBlackTree(context);
  goto rbTreeTest1(context,tree);
}


__code rbTreeTest2(struct Tree* tree) {
  printf("Test2\n");
  Node* node = new Node();
  node->value = (union Data*)new Integer();
  // ((Integer*)(node->value))->value= 4;
  node->key = 3;
  goto tree->get(node, rbTreeTest3);
}

__code rbTreeTest2_stub(struct Context* context) {
  printf("test2_stub\n");
  Tree* tree = (struct Tree*)Gearef(context, Tree)->tree;
  goto rbTreeTest2(context,tree);
}


__code rbTreeTest3(struct Tree* tree, struct Node* node0) {
  printf("test3\n");
  printf("value=%d key=%d\n", ((Integer*)node0->value)->value, node0->key);
  Node* node = new Node();
  node->value = (union Data*)new Integer();
  ((Integer*)(node->value))->value = 2;
  node->key = 2;
  goto tree->put(node, rbTreeTest4);
}

__code rbTreeTest3_stub(struct Context* context) {
  Tree* tree = (struct Tree*)Gearef(context, Tree)->tree;
  Node* node0 = Gearef(context, Tree)->node;
  goto rbTreeTest3(context,tree,node0);
}

__code rbTreeTest4(struct Tree* tree) {
  printf("test4\n");
  Node* node = new Node();
  node->value = (union Data*)new Integer();
  ((Integer*)(node->value))->value = 8;
  node->key = 8;
  goto tree->put(node, rbTreeTest5);
}

__code rbTreeTest4_stub(struct Context* context) {
  Tree* tree = (struct Tree*)Gearef(context, Tree)->tree;
  goto rbTreeTest4(context,tree);
}

__code rbTreeTest5(struct Tree* tree) {
  printf("test5\n");
  Node* node = new Node();
  node->value = (union Data*)new Integer();
  ((Integer*)node->value)->value = 0;
  node->key = 7;
  goto tree->get(rbTreeTest6);
}

__code rbTreeTest5_stub(struct Context* context) {
  Tree* tree = (struct Tree*)Gearef(context, Tree)->tree;
  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 = 9;
  node->key = 9;
  goto tree->put(node,exit_code);
}

__code rbTreeTest6_stub(struct Context* context) {
  Tree* tree = (struct Tree*)Gearef(context, Tree)->tree;
  goto rbTreeTest6(context,tree);
}

int main(int argc, char const* argv[]) {
  printf("test_main\n");
  goto rbTreeTest1();
}