Given the following piece of code, create a set of test cases bases on basis path testing. Also, create a separate set of tests based on boundary value analysis.
Show your work!
/**********
This function deletes an element out of an array.
If an item exists in the array more than once, delete
just the first occurrence.
For example, given the array
10 20 30 40 50
after deleting the 20, the array will contain
10 30 40 50
Max array size is 100.
Min array size is 0.
***********/
procedure delete_element (int value, int array_size, int array[])
{
int I; /* loop counter */
location = array_size + 1; /* location of value to delete */
/* find the location of the value */
for I = 1 to array_size
if ( array[I] == value )
location = I;
end if;
end for;
/* move each element after the target by one space */
for I = location to array_size
array[I] = array[I+1];
end for;
array_size --;
}