int main(int argc, char *argv[]) { raptor_sequence* seq=raptor_new_sequence(NULL, (raptor_print_handler*)raptor_sequence_print_string); char *s; program=argv[0]; raptor_sequence_set_at(seq, 0, (void*)"first"); raptor_sequence_push(seq, (void*)"third"); raptor_sequence_shift(seq, (void*)"second"); s=(char*)raptor_sequence_get_at(seq, 0); assert_match(raptor_sequence_get_at, s, "second"); s=(char*)raptor_sequence_get_at(seq, 1); assert_match(raptor_sequence_get_at, s, "first"); s=(char*)raptor_sequence_get_at(seq, 2); assert_match(raptor_sequence_get_at, s, "third"); if(raptor_sequence_size(seq) !=3) exit(1); fprintf(stderr, "%s: sequence after additions: ", program); raptor_sequence_print(seq, stderr); fputc('\n', stderr); /* now made alphabetical i.e. first, second, third */ raptor_sequence_sort(seq, raptor_compare_strings); fprintf(stderr, "%s: sequence after sort: ", program); raptor_sequence_print(seq, stderr); fputc('\n', stderr); s=(char*)raptor_sequence_pop(seq); assert_match(raptor_sequence_get_at, s, "third"); if(raptor_sequence_size(seq) !=2) exit(1); fprintf(stderr, "%s: sequence after pop: ", program); raptor_sequence_print(seq, stderr); fputc('\n', stderr); s=(char*)raptor_sequence_unshift(seq); assert_match(raptor_sequence_get_at, s, "first"); if(raptor_sequence_size(seq) !=1) exit(1); fprintf(stderr, "%s: sequence after unshift: ", program); raptor_sequence_print(seq, stderr); fputc('\n', stderr); s=(char*)raptor_sequence_get_at(seq, 0); assert_match(raptor_sequence_get_at, s, "second"); raptor_free_sequence(seq); return (0); }
int main(int argc, char *argv[]) { const char *program=raptor_basename(argv[0]); raptor_sequence* seq1=raptor_new_sequence(NULL, (raptor_sequence_print_handler*)raptor_sequence_print_string); raptor_sequence* seq2=raptor_new_sequence(NULL, (raptor_sequence_print_handler*)raptor_sequence_print_string); char *s; int i; if(raptor_sequence_pop(seq1) || raptor_sequence_unshift(seq1)) { fprintf(stderr, "%s: should not be able to pop/unshift from an empty sequence\n", program); exit(1); } raptor_sequence_set_at(seq1, 0, (void*)"first"); raptor_sequence_push(seq1, (void*)"third"); raptor_sequence_shift(seq1, (void*)"second"); s=(char*)raptor_sequence_get_at(seq1, 0); assert_match_string(raptor_sequence_get_at, s, "second"); s=(char*)raptor_sequence_get_at(seq1, 1); assert_match_string(raptor_sequence_get_at, s, "first"); s=(char*)raptor_sequence_get_at(seq1, 2); assert_match_string(raptor_sequence_get_at, s, "third"); assert_match_int(raptor_sequence_size, raptor_sequence_size(seq1), 3); fprintf(stderr, "%s: sequence after additions: ", program); raptor_sequence_print(seq1, stderr); fputc('\n', stderr); /* now made alphabetical i.e. first, second, third */ raptor_sequence_sort(seq1, raptor_compare_strings); fprintf(stderr, "%s: sequence after sort: ", program); raptor_sequence_print(seq1, stderr); fputc('\n', stderr); s=(char*)raptor_sequence_pop(seq1); assert_match_string(raptor_sequence_get_at, s, "third"); assert_match_int(raptor_sequence_size, raptor_sequence_size(seq1), 2); fprintf(stderr, "%s: sequence after pop: ", program); raptor_sequence_print(seq1, stderr); fputc('\n', stderr); s=(char*)raptor_sequence_unshift(seq1); assert_match_string(raptor_sequence_get_at, s, "first"); assert_match_int(raptor_sequence_size, raptor_sequence_size(seq1), 1); fprintf(stderr, "%s: sequence after unshift: ", program); raptor_sequence_print(seq1, stderr); fputc('\n', stderr); s=(char*)raptor_sequence_get_at(seq1, 0); assert_match_string(raptor_sequence_get_at, s, "second"); raptor_sequence_push(seq2, (void*)"first.2"); if(raptor_sequence_join(seq2, seq1)) { fprintf(stderr, "%s: raptor_sequence_join failed\n", program); exit(1); } assert_match_int(raptor_sequence_size, raptor_sequence_size(seq1), 0); assert_match_int(raptor_sequence_size, raptor_sequence_size(seq2), 2); raptor_free_sequence(seq1); raptor_free_sequence(seq2); /* test sequence growing */ seq1=raptor_new_sequence(NULL, (raptor_sequence_print_handler*)raptor_sequence_print_string); for(i=0; i<100; i++) if(raptor_sequence_shift(seq1, (void*)"foo")) { fprintf(stderr, "%s: raptor_sequence_shift failed\n", program); exit(1); } assert_match_int(raptor_sequence_size, raptor_sequence_size(seq1), 100); for(i=0; i<100; i++) raptor_sequence_unshift(seq1); assert_match_int(raptor_sequence_size, raptor_sequence_size(seq1), 0); raptor_free_sequence(seq1); seq1=raptor_new_sequence(NULL, (raptor_sequence_print_handler*)raptor_sequence_print_string); for(i=0; i<100; i++) if(raptor_sequence_push(seq1, (void*)"foo")) { fprintf(stderr, "%s: raptor_sequence_push failed\n", program); exit(1); } assert_match_int(raptor_sequence_size, raptor_sequence_size(seq1), 100); for(i=0; i<100; i++) raptor_sequence_pop(seq1); assert_match_int(raptor_sequence_size, raptor_sequence_size(seq1), 0); raptor_free_sequence(seq1); return (0); }