Skip to content

Commit

Permalink
Add tests for the json_object_array_del_idx() function.
Browse files Browse the repository at this point in the history
  • Loading branch information
hawicz committed Apr 30, 2016
1 parent 9edf241 commit 3345b25
Show file tree
Hide file tree
Showing 5 changed files with 147 additions and 0 deletions.
71 changes: 71 additions & 0 deletions tests/test1.c
Original file line number Diff line number Diff line change
Expand Up @@ -33,6 +33,75 @@ static int sort_fn (const void *j1, const void *j2)
/* no special define */
#endif

json_object *make_array(void);
json_object *make_array()
{
json_object *my_array;

my_array = json_object_new_array();
json_object_array_add(my_array, json_object_new_int(1));
json_object_array_add(my_array, json_object_new_int(2));
json_object_array_add(my_array, json_object_new_int(3));
json_object_array_put_idx(my_array, 4, json_object_new_int(5));
json_object_array_put_idx(my_array, 3, json_object_new_int(4));
json_object_array_put_idx(my_array, 6, json_object_new_int(7));

return my_array;
}

void test_array_del_idx(void);
void test_array_del_idx()
{
int rc;
int ii;
int orig_array_len;
json_object *my_array;
#ifdef TEST_FORMATTED
int sflags = 0;
#endif

my_array = make_array();
orig_array_len = json_object_array_length(my_array);

printf("my_array=\n");
for(ii = 0; ii < json_object_array_length(my_array); ii++)
{
json_object *obj = json_object_array_get_idx(my_array, ii);
printf("\t[%d]=%s\n", ii, json_object_to_json_string(obj));
}
printf("my_array.to_string()=%s\n", json_object_to_json_string(my_array));

for (ii = 0; ii < orig_array_len; ii++)
{
rc = json_object_array_del_idx(my_array, 0, 1);
printf("after del_idx(0,1)=%d, my_array.to_string()=%s\n",
rc, json_object_to_json_string(my_array));
}

// One more time, with the empty array:
rc = json_object_array_del_idx(my_array, 0, 1);
printf("after del_idx(0,1)=%d, my_array.to_string()=%s\n",
rc, json_object_to_json_string(my_array));

json_object_put(my_array);

// Delete all array indexes at once
my_array = make_array();
rc = json_object_array_del_idx(my_array, 0, orig_array_len);
printf("after del_idx(0,%d)=%d, my_array.to_string()=%s\n",
orig_array_len, rc, json_object_to_json_string(my_array));

json_object_put(my_array);

// Delete *more* than all array indexes at once
my_array = make_array();
rc = json_object_array_del_idx(my_array, 0, orig_array_len + 1);
printf("after del_idx(0,%d)=%d, my_array.to_string()=%s\n",
orig_array_len + 1, rc, json_object_to_json_string(my_array));

json_object_put(my_array);
}

int main(int argc, char **argv)
{
json_object *my_string, *my_int, *my_object, *my_array;
Expand Down Expand Up @@ -92,6 +161,8 @@ int main(int argc, char **argv)

json_object_put(my_array);

test_array_del_idx();

my_array = json_object_new_array();
json_object_array_add(my_array, json_object_new_int(3));
json_object_array_add(my_array, json_object_new_int(1));
Expand Down
19 changes: 19 additions & 0 deletions tests/test1.expected
Original file line number Diff line number Diff line change
Expand Up @@ -19,6 +19,25 @@ my_array=
[3]=null
[4]=5
my_array.to_string()=[ 1, 2, 3, null, 5 ]
my_array=
[0]=1
[1]=2
[2]=3
[3]=4
[4]=5
[5]=null
[6]=7
my_array.to_string()=[ 1, 2, 3, 4, 5, null, 7 ]
after del_idx(0,1)=0, my_array.to_string()=[ 2, 3, 4, 5, null, 7 ]
after del_idx(0,1)=0, my_array.to_string()=[ 3, 4, 5, null, 7 ]
after del_idx(0,1)=0, my_array.to_string()=[ 4, 5, null, 7 ]
after del_idx(0,1)=0, my_array.to_string()=[ 5, null, 7 ]
after del_idx(0,1)=0, my_array.to_string()=[ null, 7 ]
after del_idx(0,1)=0, my_array.to_string()=[ 7 ]
after del_idx(0,1)=0, my_array.to_string()=[ ]
after del_idx(0,1)=-1, my_array.to_string()=[ ]
after del_idx(0,7)=0, my_array.to_string()=[ ]
after del_idx(0,8)=-1, my_array.to_string()=[ 1, 2, 3, 4, 5, null, 7 ]
my_array=
[0]=3
[1]=1
Expand Down
19 changes: 19 additions & 0 deletions tests/test1Formatted_plain.expected
Original file line number Diff line number Diff line change
Expand Up @@ -19,6 +19,25 @@ my_array=
[3]=null
[4]=5
my_array.to_string()=[1,2,3,null,5]
my_array=
[0]=1
[1]=2
[2]=3
[3]=4
[4]=5
[5]=null
[6]=7
my_array.to_string()=[1,2,3,4,5,null,7]
after del_idx(0,1)=0, my_array.to_string()=[2,3,4,5,null,7]
after del_idx(0,1)=0, my_array.to_string()=[3,4,5,null,7]
after del_idx(0,1)=0, my_array.to_string()=[4,5,null,7]
after del_idx(0,1)=0, my_array.to_string()=[5,null,7]
after del_idx(0,1)=0, my_array.to_string()=[null,7]
after del_idx(0,1)=0, my_array.to_string()=[7]
after del_idx(0,1)=0, my_array.to_string()=[]
after del_idx(0,1)=-1, my_array.to_string()=[]
after del_idx(0,7)=0, my_array.to_string()=[]
after del_idx(0,8)=-1, my_array.to_string()=[1,2,3,4,5,null,7]
my_array=
[0]=3
[1]=1
Expand Down
19 changes: 19 additions & 0 deletions tests/test1Formatted_pretty.expected
Original file line number Diff line number Diff line change
Expand Up @@ -25,6 +25,25 @@ my_array.to_string()=[
null,
5
]
my_array=
[0]=1
[1]=2
[2]=3
[3]=4
[4]=5
[5]=null
[6]=7
my_array.to_string()=[1,2,3,4,5,null,7]
after del_idx(0,1)=0, my_array.to_string()=[2,3,4,5,null,7]
after del_idx(0,1)=0, my_array.to_string()=[3,4,5,null,7]
after del_idx(0,1)=0, my_array.to_string()=[4,5,null,7]
after del_idx(0,1)=0, my_array.to_string()=[5,null,7]
after del_idx(0,1)=0, my_array.to_string()=[null,7]
after del_idx(0,1)=0, my_array.to_string()=[7]
after del_idx(0,1)=0, my_array.to_string()=[]
after del_idx(0,1)=-1, my_array.to_string()=[]
after del_idx(0,7)=0, my_array.to_string()=[]
after del_idx(0,8)=-1, my_array.to_string()=[1,2,3,4,5,null,7]
my_array=
[0]=3
[1]=1
Expand Down
19 changes: 19 additions & 0 deletions tests/test1Formatted_spaced.expected
Original file line number Diff line number Diff line change
Expand Up @@ -19,6 +19,25 @@ my_array=
[3]=null
[4]=5
my_array.to_string()=[ 1, 2, 3, null, 5 ]
my_array=
[0]=1
[1]=2
[2]=3
[3]=4
[4]=5
[5]=null
[6]=7
my_array.to_string()=[1,2,3,4,5,null,7]
after del_idx(0,1)=0, my_array.to_string()=[2,3,4,5,null,7]
after del_idx(0,1)=0, my_array.to_string()=[3,4,5,null,7]
after del_idx(0,1)=0, my_array.to_string()=[4,5,null,7]
after del_idx(0,1)=0, my_array.to_string()=[5,null,7]
after del_idx(0,1)=0, my_array.to_string()=[null,7]
after del_idx(0,1)=0, my_array.to_string()=[7]
after del_idx(0,1)=0, my_array.to_string()=[]
after del_idx(0,1)=-1, my_array.to_string()=[]
after del_idx(0,7)=0, my_array.to_string()=[]
after del_idx(0,8)=-1, my_array.to_string()=[1,2,3,4,5,null,7]
my_array=
[0]=3
[1]=1
Expand Down

0 comments on commit 3345b25

Please sign in to comment.