8 void destructor(int *elem)
11 sum_of_destructed += *elem;
14 WVTEST_MAIN("sequence manipulation")
16 CORBA_sequence_long *s;
17 int i, *e, foreach_retuned_sum = 0;
18 forb_sequence_alloc(s, 10);
20 WVPASS(forb_sequence_allocated(s) == 10);
21 WVPASS(forb_sequence_elem(s, 9) == 0);
22 WVPASS(forb_sequence_elem(s, 9) = 1);
23 WVPASS(forb_sequence_ensure_allocated(s, 1000) != NULL);
24 WVPASS(forb_sequence_allocated(s) == 1000);
25 WVPASS(forb_sequence_elem(s, 9) == 1);
26 WVPASS(forb_sequence_elem(s, 999) = 1);
27 CORBA_sequence_set_release(s, 1);
28 WVPASS(forb_sequence_length(s) == 0);
29 forb_sequence_free(s, destructor);
30 WVPASS(destructor_called == 0);
32 forb_sequence_alloc(s, 10);
35 forb_sequence_elem(s, i) = i;
36 forb_sequence_length(s) = 10;
37 WVPASS(forb_sequence_length(s) == 10);
38 forb_sequence_free(s, destructor);
39 WVPASS(destructor_called == 0);
41 forb_sequence_alloc(s, 10);
43 CORBA_sequence_set_release(s, 1);
45 forb_sequence_elem(s, i) = i;
46 forb_sequence_length(s) = 10;
47 WVPASS(forb_sequence_length(s) == 10);
49 forb_sequence_foreach(s, e) {
50 foreach_retuned_sum += *e;
52 WVPASS(foreach_retuned_sum == 45);
54 forb_sequence_free(s, destructor);
55 WVPASS(destructor_called == 10);
56 WVPASS(sum_of_destructed == 45);