Skip to content

Commit

Permalink
Add assertions for shape cache grandchild nodes
Browse files Browse the repository at this point in the history
  • Loading branch information
peterzhu2118 committed Dec 1, 2023
1 parent 64c4bbb commit 43ef0da
Showing 1 changed file with 8 additions and 0 deletions.
8 changes: 8 additions & 0 deletions shape.c
Expand Up @@ -180,7 +180,9 @@ redblack_balance(char color, ID key, rb_shape_t * value, redblack_node_t * left,
RUBY_ASSERT(new_right_key > new_key);
RUBY_ASSERT(new_left_left == LEAF || new_left_left->key < new_left_key);
RUBY_ASSERT(new_left_right == LEAF || new_left_right->key > new_left_key);
RUBY_ASSERT(new_left_right == LEAF || new_left_right->key < new_key);
RUBY_ASSERT(new_right_left == LEAF || new_right_left->key < new_right_key);
RUBY_ASSERT(new_right_left == LEAF || new_right_left->key > new_key);
RUBY_ASSERT(new_right_right == LEAF || new_right_right->key > new_right_key);
}
else if (redblack_red_p(left) && redblack_red_p(redblack_right(left))) {
Expand All @@ -202,7 +204,9 @@ redblack_balance(char color, ID key, rb_shape_t * value, redblack_node_t * left,
RUBY_ASSERT(new_right_key > new_key);
RUBY_ASSERT(new_left_left == LEAF || new_left_left->key < new_left_key);
RUBY_ASSERT(new_left_right == LEAF || new_left_right->key > new_left_key);
RUBY_ASSERT(new_left_right == LEAF || new_left_right->key < new_key);
RUBY_ASSERT(new_right_left == LEAF || new_right_left->key < new_right_key);
RUBY_ASSERT(new_right_left == LEAF || new_right_left->key > new_key);
RUBY_ASSERT(new_right_right == LEAF || new_right_right->key > new_right_key);
}
else if (redblack_red_p(right) && redblack_red_p(redblack_left(right))) {
Expand All @@ -224,7 +228,9 @@ redblack_balance(char color, ID key, rb_shape_t * value, redblack_node_t * left,
RUBY_ASSERT(new_right_key > new_key);
RUBY_ASSERT(new_left_left == LEAF || new_left_left->key < new_left_key);
RUBY_ASSERT(new_left_right == LEAF || new_left_right->key > new_left_key);
RUBY_ASSERT(new_left_right == LEAF || new_left_right->key < new_key);
RUBY_ASSERT(new_right_left == LEAF || new_right_left->key < new_right_key);
RUBY_ASSERT(new_right_left == LEAF || new_right_left->key > new_key);
RUBY_ASSERT(new_right_right == LEAF || new_right_right->key > new_right_key);
}
else if (redblack_red_p(right) && redblack_red_p(redblack_right(right))) {
Expand All @@ -246,7 +252,9 @@ redblack_balance(char color, ID key, rb_shape_t * value, redblack_node_t * left,
RUBY_ASSERT(new_right_key > new_key);
RUBY_ASSERT(new_left_left == LEAF || new_left_left->key < new_left_key);
RUBY_ASSERT(new_left_right == LEAF || new_left_right->key > new_left_key);
RUBY_ASSERT(new_left_right == LEAF || new_left_right->key < new_key);
RUBY_ASSERT(new_right_left == LEAF || new_right_left->key < new_right_key);
RUBY_ASSERT(new_right_left == LEAF || new_right_left->key > new_key);
RUBY_ASSERT(new_right_right == LEAF || new_right_right->key > new_right_key);
}
else {
Expand Down

0 comments on commit 43ef0da

Please sign in to comment.