/[eiffelstudio]/trunk/eweasel/tests/list003/test.e
ViewVC logotype

Diff of /trunk/eweasel/tests/list003/test.e

Parent Directory Parent Directory | Revision Log Revision Log | View Patch Patch

revision 65297 by manus, Thu Nov 30 20:22:33 2006 UTC revision 77623 by manus, Fri Mar 6 22:14:15 2009 UTC
# Line 17  feature {NONE} -- Initialization Line 17  feature {NONE} -- Initialization
17                          until                          until
18                                  i > Implementations                                  i > Implementations
19                          loop                          loop
20                                  create_list (i)                                  test_twin (new_list (i), False)
21                                  test_twin (False)                                  test_twin (new_list (i), True)
22                                  create_list (i)                                  test_copy (new_list (i), new_list (i), new_list (i), False)
23                                  test_twin (True)                                  test_copy (new_list (i), new_list (i), new_list (i), True)
24                                  i := i + 1                                  i := i + 1
25                          end                          end
26                  end                  end
# Line 31  feature {NONE} -- Constants Line 31  feature {NONE} -- Constants
31                    
32  feature {NONE} -- Initialization  feature {NONE} -- Initialization
33    
         l1, l2: LIST [STRING]  
34    
35          create_list (i: INTEGER) is          new_list (i: INTEGER): LIST [STRING] is
36                          -- Create implementiation `i' of list.                          -- Create implementiation `i' of list.
37                  require                  require
38                          defined_implementation: i >= 1 and i <= Implementations                          defined_implementation: i >= 1 and i <= Implementations
# Line 41  feature {NONE} -- Initialization Line 40  feature {NONE} -- Initialization
40                          inspect                          inspect
41                                  i                                  i
42                          when 1 then                          when 1 then
43                                  create {LINKED_LIST [STRING]} l1.make                                  create {LINKED_LIST [STRING]} Result.make
44                          when 2 then                          when 2 then
45                                  create {ARRAYED_LIST [STRING]} l1.make (5)                                  create {ARRAYED_LIST [STRING]} Result.make (5)
46                          when 3 then                          when 3 then
47                                  create {FIXED_LIST [STRING]} l1.make (5)                                  create {FIXED_LIST [STRING]} Result.make (5)
48                          end                          end
49                  end                  end
50    
51          test_twin (obj_comparison: BOOLEAN) is          test_twin (a_list: LIST [STRING]; obj_comparison: BOOLEAN) is
52                          -- Run twin test.                          -- Run twin test.
53                          -- Set comparison mode of `l1' to `obj_comparison'.                          -- Set comparison mode of `a_list' to `obj_comparison'.
54                    local
55                            l2: LIST [STRING]
56                  do                  do
57                          if obj_comparison then                          if obj_comparison then
58                                  l1.compare_objects                                  a_list.compare_objects
59                          else                          else
60                                  l1.compare_references                                  a_list.compare_references
61                            end
62                            a_list.extend ("foo")
63                            a_list.extend ("bar")
64                            a_list.extend ("baz")
65                            
66                            l2 := a_list.twin
67                            if a_list /~ l2 then
68                                    io.put_string ("Failure%N")
69                            end
70                    end
71    
72            test_copy (a_list1, a_list2, a_list3: LIST [STRING]; obj_comparison: BOOLEAN) is
73                            -- Run copy test.
74                            -- Set comparison mode of `a_list1' and `a_list2' to `obj_comparison'.
75                    do
76                            if obj_comparison then
77                                    a_list1.compare_objects
78                                    a_list2.compare_objects
79                            else
80                                    a_list1.compare_references
81                                    a_list2.compare_references
82                            end
83                            a_list1.extend ("foo")
84                            a_list1.extend ("bar")
85                            a_list1.extend ("baz")
86                            
87                            a_list2.copy (a_list1)
88                            if a_list1 /~ a_list2 then
89                                    io.put_string ("Failure%N")
90                            end
91    
92                            a_list3.extend ("bar")
93                            a_list3.copy (a_list1)
94                            if a_list1 /~ a_list3 then
95                                    io.put_string ("Failure%N")
96                            end
97    
98                            if a_list1.is_empty then
99                                    io.put_string ("Failure%N")
100                            end
101                            a_list1.copy (a_list1)
102                            if a_list1.is_empty then
103                                    io.put_string ("Failure%N")
104                          end                          end
                         l1.extend ("foo")  
                         l1.extend ("bar")  
                         l1.extend ("baz")  
                         l2 := l1.twin  
                         Io.put_boolean (equal (l1, l2))  
                         Io.put_new_line  
105                  end                  end
106    
107  end -- class TEST  end -- class TEST
108    
109    

Legend:
Removed from v.65297  
changed lines
  Added in v.77623

  ViewVC Help
Powered by ViewVC 1.1.23