EFL 1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (193) hide show
  1. data/README.txt +36 -0
  2. data/lib/EFL.rb +494 -0
  3. data/lib/EFL_array.rb +20 -0
  4. data/lib/EFL_errors.rb +48 -0
  5. data/lib/EFL_hash.rb +18 -0
  6. data/lib/EFL_production.rb +49 -0
  7. data/lib/EFL_regexp.rb +112 -0
  8. data/lib/EFL_regexp_generator.rb +70 -0
  9. data/lib/EFL_substitution.rb +221 -0
  10. data/lib/EFL_syntactic_sugar.rb +67 -0
  11. data/lib/Hash Doc.doc +0 -0
  12. data/lib/Limitaciones.txt +3 -0
  13. data/lib/doc/classes/Generator.html +634 -0
  14. data/lib/doc/classes/Generator.src/M000008.html +18 -0
  15. data/lib/doc/classes/Generator.src/M000009.html +18 -0
  16. data/lib/doc/classes/Generator.src/M000010.html +18 -0
  17. data/lib/doc/classes/Generator.src/M000011.html +18 -0
  18. data/lib/doc/classes/Generator.src/M000012.html +18 -0
  19. data/lib/doc/classes/Generator.src/M000013.html +18 -0
  20. data/lib/doc/classes/Generator.src/M000014.html +18 -0
  21. data/lib/doc/classes/Generator.src/M000015.html +18 -0
  22. data/lib/doc/classes/Generator.src/M000016.html +28 -0
  23. data/lib/doc/classes/Generator.src/M000017.html +24 -0
  24. data/lib/doc/classes/Generator.src/M000018.html +157 -0
  25. data/lib/doc/classes/Generator.src/M000019.html +25 -0
  26. data/lib/doc/classes/Generator.src/M000020.html +30 -0
  27. data/lib/doc/classes/Generator.src/M000021.html +32 -0
  28. data/lib/doc/classes/Generator.src/M000022.html +22 -0
  29. data/lib/doc/classes/Generator.src/M000023.html +18 -0
  30. data/lib/doc/classes/Generator.src/M000024.html +27 -0
  31. data/lib/doc/classes/Generator.src/M000025.html +22 -0
  32. data/lib/doc/classes/Generator.src/M000026.html +18 -0
  33. data/lib/doc/classes/Generator.src/M000027.html +27 -0
  34. data/lib/doc/classes/Regexp.html +271 -0
  35. data/lib/doc/classes/Regexp.src/M000028.html +37 -0
  36. data/lib/doc/classes/Regexp.src/M000029.html +29 -0
  37. data/lib/doc/classes/Regexp.src/M000030.html +32 -0
  38. data/lib/doc/created.rid +1 -0
  39. data/lib/doc/files/EFL_rb.html +147 -0
  40. data/lib/doc/files/EFL_regexp_generator_rb.html +242 -0
  41. data/lib/doc/files/EFL_regexp_generator_rb.src/M000003.html +27 -0
  42. data/lib/doc/files/EFL_regexp_generator_rb.src/M000004.html +27 -0
  43. data/lib/doc/files/EFL_regexp_generator_rb.src/M000005.html +19 -0
  44. data/lib/doc/files/EFL_regexp_generator_rb.src/M000006.html +20 -0
  45. data/lib/doc/files/EFL_regexp_generator_rb.src/M000007.html +19 -0
  46. data/lib/doc/files/EFL_regexp_rb.html +139 -0
  47. data/lib/doc/files/EFL_syntactic_sugar_rb.html +208 -0
  48. data/lib/doc/files/EFL_syntactic_sugar_rb.src/M000001.html +29 -0
  49. data/lib/doc/files/EFL_syntactic_sugar_rb.src/M000002.html +19 -0
  50. data/lib/doc/fr_class_index.html +28 -0
  51. data/lib/doc/fr_file_index.html +30 -0
  52. data/lib/doc/fr_method_index.html +56 -0
  53. data/lib/doc/index.html +24 -0
  54. data/tests/Add_Sup_1.rb +223 -0
  55. data/tests/Add_Sup_1.rb.bak +223 -0
  56. data/tests/Add_Sup_1_NI.rb +25 -0
  57. data/tests/Add_Sup_2.rb +142 -0
  58. data/tests/Add_Sup_2.rb.bak +140 -0
  59. data/tests/All.rb +2 -0
  60. data/tests/All_1.rb +7 -0
  61. data/tests/All_2.rb +7 -0
  62. data/tests/All_2.rb.bak +5 -0
  63. data/tests/BeforeAfter.rb +83 -0
  64. data/tests/Bloques.rb +34 -0
  65. data/tests/Bloques.rb.bak +34 -0
  66. data/tests/Complementary.rb +144 -0
  67. data/tests/ComplementaryZoom.rb +78 -0
  68. data/tests/Del.rb +126 -0
  69. data/tests/Dup.rb +55 -0
  70. data/tests/Dup.rb.bak +54 -0
  71. data/tests/Error.rb +11 -0
  72. data/tests/ErrorArgClass.rb +169 -0
  73. data/tests/ErrorArgClass.rb.bak +158 -0
  74. data/tests/ErrorCollision.rb +218 -0
  75. data/tests/ErrorCollision.rb.bak +219 -0
  76. data/tests/ErrorWithoutDeclaration.rb +60 -0
  77. data/tests/ErrorWithoutDeclaration.rb.bak +60 -0
  78. data/tests/Extract.rb +56 -0
  79. data/tests/ExtractDollar.rb +17 -0
  80. data/tests/HashTest.rb +54 -0
  81. data/tests/HashTest.rb.bak +54 -0
  82. data/tests/Lista Czarnecki/AntiguaInterfaz/List.cpp +75 -0
  83. data/tests/Lista Czarnecki/AntiguaInterfaz/ListTransformer.rb +69 -0
  84. data/tests/Lista Czarnecki/AntiguaInterfaz/ListTransformer.rb.bak +100 -0
  85. data/tests/Lista Czarnecki/AntiguaInterfaz/ejecutame.bat +1 -0
  86. data/tests/Lista Czarnecki/AntiguaInterfaz/outDir/MyClassList.cpp +75 -0
  87. data/tests/Lista Czarnecki/AntiguaInterfaz/runme.bat +1 -0
  88. data/tests/Lista Czarnecki/AntiguaInterfaz/specification1.txt +5 -0
  89. data/tests/Lista Czarnecki/AntiguaInterfaz/specification2.txt +3 -0
  90. data/tests/Lista Czarnecki/AntiguaInterfaz/specification3.txt +5 -0
  91. data/tests/Lista Czarnecki/NuevaInterfaz/List.cpp +75 -0
  92. data/tests/Lista Czarnecki/NuevaInterfaz/ListTransformer.rb +58 -0
  93. data/tests/Lista Czarnecki/NuevaInterfaz/ListTransformer.rb.bak +57 -0
  94. data/tests/Lista Czarnecki/NuevaInterfaz/ejecutame.bat +1 -0
  95. data/tests/Lista Czarnecki/NuevaInterfaz/outDir/MyClassList.cpp +75 -0
  96. data/tests/Lista Czarnecki/NuevaInterfaz/outDir/NewClassList.cpp +75 -0
  97. data/tests/Lista Czarnecki/NuevaInterfaz/specification1.txt +5 -0
  98. data/tests/Lista Czarnecki/NuevaInterfaz/specification1.txt.bak +5 -0
  99. data/tests/Lista Czarnecki/NuevaInterfaz/specification2.txt +3 -0
  100. data/tests/Lista Czarnecki/NuevaInterfaz/specification3.txt +5 -0
  101. data/tests/Minus.rb +89 -0
  102. data/tests/Plus.rb.bak +48 -0
  103. data/tests/REVit.rb +84 -0
  104. data/tests/RenameTest.rb +46 -0
  105. data/tests/RenameTest.rb.bak +46 -0
  106. data/tests/SubCrash.rb +26 -0
  107. data/tests/SubList.rb.bak +43 -0
  108. data/tests/archAuxiliares/1.txt +328 -0
  109. data/tests/archAuxiliares/2.txt +328 -0
  110. data/tests/archAuxiliares/Bloques/s1.txt +328 -0
  111. data/tests/archAuxiliares/Copia de Matriz.java +19 -0
  112. data/tests/archAuxiliares/Gen/Tesis_156_1.lgi +10 -0
  113. data/tests/archAuxiliares/Gen/Tesis_156_2.lgi +10 -0
  114. data/tests/archAuxiliares/Gen/t01.txt +328 -0
  115. data/tests/archAuxiliares/Gen/t01.txt.bak +328 -0
  116. data/tests/archAuxiliares/Gen/t02.txt +328 -0
  117. data/tests/archAuxiliares/Gen/t02.txt.bak +328 -0
  118. data/tests/archAuxiliares/Gen/t03.txt +328 -0
  119. data/tests/archAuxiliares/Gen/t03.txt.bak +328 -0
  120. data/tests/archAuxiliares/Gen/t04.txt +328 -0
  121. data/tests/archAuxiliares/Gen/t04.txt.bak +328 -0
  122. data/tests/archAuxiliares/Gen/t1.txt +328 -0
  123. data/tests/archAuxiliares/Gen/t1.txt.bak +328 -0
  124. data/tests/archAuxiliares/Gen/t2.txt +328 -0
  125. data/tests/archAuxiliares/Gen/t2.txt.bak +328 -0
  126. data/tests/archAuxiliares/Gen/t5.txt +328 -0
  127. data/tests/archAuxiliares/Gen/t9.txt +328 -0
  128. data/tests/archAuxiliares/Gen/t9.txt.bak +328 -0
  129. data/tests/archAuxiliares/GenTesis_156_1.lgi +10 -0
  130. data/tests/archAuxiliares/Matriz.java +74 -0
  131. data/tests/archAuxiliares/MatrizOut.java +74 -0
  132. data/tests/archAuxiliares/MatrizOut10.java +68 -0
  133. data/tests/archAuxiliares/MatrizOut11.java +86 -0
  134. data/tests/archAuxiliares/MatrizOut2.java +74 -0
  135. data/tests/archAuxiliares/MatrizOut3.java +74 -0
  136. data/tests/archAuxiliares/MatrizOut4.java +74 -0
  137. data/tests/archAuxiliares/MatrizOut5.java +21 -0
  138. data/tests/archAuxiliares/MatrizOut6.java +21 -0
  139. data/tests/archAuxiliares/MatrizOut7.java +21 -0
  140. data/tests/archAuxiliares/MatrizOut8.java +16 -0
  141. data/tests/archAuxiliares/MatrizOut9.java +86 -0
  142. data/tests/archAuxiliares/MatrizOut_9.java +86 -0
  143. data/tests/archAuxiliares/Matriz_1.java +74 -0
  144. data/tests/archAuxiliares/Matriz_10.java +68 -0
  145. data/tests/archAuxiliares/Matriz_11.java +86 -0
  146. data/tests/archAuxiliares/Matriz_2.java +74 -0
  147. data/tests/archAuxiliares/Matriz_3.java +74 -0
  148. data/tests/archAuxiliares/Matriz_4.java +74 -0
  149. data/tests/archAuxiliares/Matriz_5.java +21 -0
  150. data/tests/archAuxiliares/Matriz_6.java +21 -0
  151. data/tests/archAuxiliares/Matriz_7.java +21 -0
  152. data/tests/archAuxiliares/Matriz_8.java +16 -0
  153. data/tests/archAuxiliares/Matriz_9.java +86 -0
  154. data/tests/archAuxiliares/Matriz_N_1.java +21 -0
  155. data/tests/archAuxiliares/Matriz_N_2.java +91 -0
  156. data/tests/archAuxiliares/N1.txt +18 -0
  157. data/tests/archAuxiliares/N1_EXPECTED.txt +18 -0
  158. data/tests/archAuxiliares/N1_OUT.txt +18 -0
  159. data/tests/archAuxiliares/N2_EXPECTED.txt +18 -0
  160. data/tests/archAuxiliares/N2_OUT.txt +18 -0
  161. data/tests/archAuxiliares/N3.txt +23 -0
  162. data/tests/archAuxiliares/N3_EXPECTED.txt +22 -0
  163. data/tests/archAuxiliares/N3_OUT.txt +22 -0
  164. data/tests/archAuxiliares/N4_EXPECTED.txt +10 -0
  165. data/tests/archAuxiliares/N4_OUT.txt +10 -0
  166. data/tests/archAuxiliares/N5_OUT.txt +18 -0
  167. data/tests/archAuxiliares/N6_OUT.txt +18 -0
  168. data/tests/archAuxiliares/PedidorTerceroWS.jsp +142 -0
  169. data/tests/archAuxiliares/Tesis_156.lgi +7 -0
  170. data/tests/archAuxiliares/aspectgen.rb +328 -0
  171. data/tests/archAuxiliares/aspectgenCopy.rb +328 -0
  172. data/tests/archAuxiliares/extract_dollar.txt +1 -0
  173. data/tests/archAuxiliares/minus.txt +26 -0
  174. data/tests/archAuxiliares/minus_expected_1.txt +26 -0
  175. data/tests/archAuxiliares/minus_expected_2.txt +26 -0
  176. data/tests/archAuxiliares/minus_out_1.txt +26 -0
  177. data/tests/archAuxiliares/minus_out_2.txt +26 -0
  178. data/tests/archAuxiliares/p1.txt +328 -0
  179. data/tests/archAuxiliares/p2.txt +328 -0
  180. data/tests/archAuxiliares/s1.txt +328 -0
  181. data/tests/archAuxiliares/s2.txt +328 -0
  182. data/tests/archAuxiliares/s3.txt +328 -0
  183. data/tests/archAuxiliares/s4.txt +328 -0
  184. data/tests/archAuxiliares/s5.txt +328 -0
  185. data/tests/archAuxiliares/s7.txt +328 -0
  186. data/tests/archAuxiliares/s8.txt +328 -0
  187. data/tests/archAuxiliares/s9.txt +328 -0
  188. data/tests/archAuxiliares/text.txt +1 -0
  189. data/tests/delay.rb +33 -0
  190. data/tests/delay.rb.bak +33 -0
  191. data/tests/satisfy.rb +44 -0
  192. data/tests/satisfy.rb.bak +34 -0
  193. metadata +252 -0
@@ -0,0 +1,11 @@
1
+ require 'test/unit'
2
+ require 'ErrorWithoutDeclaration'
3
+ require 'ErrorArgClass'
4
+ require 'ErrorCollision'
5
+
6
+ ########################################################
7
+ # Bateria de pruebas para la clase Error, que produce diversas excepciones.
8
+ #
9
+ # Ultima actualizacion: 30-9-2004
10
+ ########################################################
11
+
@@ -0,0 +1,169 @@
1
+ require 'test/unit'
2
+ require "EFL"
3
+
4
+ ########################################################
5
+ # Bateria de pruebas para la clase Error, que produce diversas excepciones
6
+ # - Pruebas para Error.argClass(*args) desde:
7
+ # - sub
8
+ # - prod, prod?
9
+ # - gen, gen?
10
+ #
11
+ # Ultima actualizacion: 30-9-2004
12
+ ########################################################
13
+
14
+ class ErrorArgClass < Test::Unit::TestCase
15
+ def setup
16
+ @g = Generator.new
17
+ @g.gsub(/pointcut/i, "PTO DE CORTE!!!!")
18
+ @g.gsub(/raise/, "LANZAAL!!!!", 's2')
19
+ @g.sub(/initialize/, 'CONSTRUCTORRR!!!!', 's3')
20
+ @g.gsub(/name/, "NOMBRE!!!!", 's4')
21
+ @g.prod('archAuxiliares/aspectgen.rb',
22
+ 'archAuxiliares/basura.txt', ['s2', 's3'], 'name')
23
+ end
24
+
25
+ def test_sub_1
26
+ assert_raises(RuntimeError, "") {||
27
+ @g.sub('regExp', 'text', 'name')
28
+ }
29
+ end
30
+
31
+ def test_sub_2
32
+ assert_raises(RuntimeError, "") {||
33
+ @g.sub(/regExp/, /text/, 'name')
34
+ }
35
+ end
36
+
37
+ def test_sub_3
38
+ assert_raises(RuntimeError, "") {||
39
+ @g.sub(/regExp/, 'text', /name/)
40
+ }
41
+ end
42
+
43
+ def test_gsub_1
44
+ assert_raises(RuntimeError, "") {||
45
+ @g.gsub('regExp', 'text', 'name')
46
+ }
47
+ end
48
+
49
+ def test_gsub_2
50
+ assert_raises(RuntimeError, "") {||
51
+ @g.gsub(/regExp/, /text/, 'name')
52
+ }
53
+ end
54
+
55
+ def test_gsub_3
56
+ assert_raises(RuntimeError, "") {||
57
+ @g.gsub(/regExp/, 'text', /name/)
58
+ }
59
+ end
60
+
61
+ def test_prod_1
62
+ assert_raises(RuntimeError, "") {||
63
+ @g.prod(/iFile/, 'oFile', ['s1', 's2'], 'name')
64
+ }
65
+ end
66
+
67
+ def test_prod_2
68
+ assert_raises(RuntimeError, "") {||
69
+ @g.prod('iFile', /oFile/, ['s1', 's2'], 'name')
70
+ }
71
+ end
72
+
73
+ def test_prod_3
74
+ assert_raises(RuntimeError, "") {||
75
+ @g.prod('iFile', 'oFile', 's1', 'name')
76
+ }
77
+ end
78
+
79
+ def test_prod_4
80
+ assert_raises(RuntimeError, "") {||
81
+ @g.prod('iFile', 'oFile', ['s1', 's2'], /name/)
82
+ }
83
+ end
84
+
85
+ def test_prod?_1
86
+ assert_raises(RuntimeError, "") {||
87
+ @g.prod?(/iFile/, 'oFile', ['s1', 's2'], 'name')
88
+ }
89
+ end
90
+
91
+ def test_prod?_2
92
+ assert_raises(RuntimeError, "") {||
93
+ @g.prod?('iFile', /oFile/, ['s1', 's2'], 'name')
94
+ }
95
+ end
96
+
97
+ def test_prod?_3
98
+ assert_raises(RuntimeError, "") {||
99
+ @g.prod?('iFile', 'oFile', 's1', 'name')
100
+ }
101
+ end
102
+
103
+ def test_prod?_4
104
+ assert_raises(RuntimeError, "") {||
105
+ @g.prod?('iFile', 'oFile', ['s1', 's2'], /name/)
106
+ }
107
+ end
108
+
109
+ def test_gen
110
+ assert_raises(RuntimeError, "") {||
111
+ @g.gen('p1')
112
+ }
113
+ end
114
+
115
+ def test_gen?
116
+ assert_raises(RuntimeError, "") {||
117
+ @g.gen?('p1')
118
+ }
119
+ end
120
+
121
+ def test_add_1
122
+ assert_raises(RuntimeError, "") {||
123
+ @g.add('p1')
124
+ }
125
+ end
126
+
127
+ def test_add_2
128
+ assert_raises(RuntimeError, "") {||
129
+ @g.+('p1')
130
+ }
131
+ end
132
+
133
+ def test_add?
134
+ assert_raises(RuntimeError, "") {||
135
+ @g.add?('p1')
136
+ }
137
+ end
138
+
139
+ def test_sup_1
140
+ assert_raises(RuntimeError, "") {||
141
+ @g << 'p1'
142
+ }
143
+ end
144
+
145
+ def test_sup_2
146
+ assert_raises(RuntimeError, "") {||
147
+ @g.sup!('p1')
148
+ }
149
+ end
150
+
151
+ def test_sup?
152
+ assert_raises(RuntimeError, "") {||
153
+ @g.sup?('p1')
154
+ }
155
+ end
156
+
157
+ def test_extract
158
+ assert_raises(RuntimeError, "") {||
159
+ @g.extract("file", "")
160
+ }
161
+ end
162
+
163
+ def test_extract_dollar
164
+ assert_raises(RuntimeError, "") {||
165
+ @g.extract_dollar("file", //, //)
166
+ }
167
+ end
168
+
169
+ end
@@ -0,0 +1,158 @@
1
+ require 'test/unit'
2
+ require "EFL.rb"
3
+
4
+ ########################################################
5
+ # Bateria de pruebas para la clase Error, que produce diversas excepciones
6
+ # - Pruebas para Error.argClass(*args) desde:
7
+ # - sub
8
+ # - prod, prod?
9
+ # - gen, gen?
10
+ #
11
+ # Ultima actualizacion: 30-9-2004
12
+ ########################################################
13
+
14
+ class ErrorArgClass < Test::Unit::TestCase
15
+ def setup
16
+ @g = Generator.new
17
+ @g.gsub(/pointcut/i, "PTO DE CORTE!!!!")
18
+ @g.gsub(/raise/, "LANZAAL!!!!", 's2')
19
+ @g.sub(/initialize/, 'CONSTRUCTORRR!!!!', 's3')
20
+ @g.gsub(/name/, "NOMBRE!!!!", 's4')
21
+ @g.prod('archAuxiliares/aspectgen.rb',
22
+ 'archAuxiliares/basura.txt', ['s2', 's3'], 'name')
23
+ end
24
+
25
+ def test_sub_1
26
+ assert_raises(RuntimeError, "") {||
27
+ @g.sub('regExp', 'text', 'name')
28
+ }
29
+ end
30
+
31
+ def test_sub_2
32
+ assert_raises(RuntimeError, "") {||
33
+ @g.sub(/regExp/, /text/, 'name')
34
+ }
35
+ end
36
+
37
+ def test_sub_3
38
+ assert_raises(RuntimeError, "") {||
39
+ @g.sub(/regExp/, 'text', /name/)
40
+ }
41
+ end
42
+
43
+ def test_gsub_1
44
+ assert_raises(RuntimeError, "") {||
45
+ @g.gsub('regExp', 'text', 'name')
46
+ }
47
+ end
48
+
49
+ def test_gsub_2
50
+ assert_raises(RuntimeError, "") {||
51
+ @g.gsub(/regExp/, /text/, 'name')
52
+ }
53
+ end
54
+
55
+ def test_gsub_3
56
+ assert_raises(RuntimeError, "") {||
57
+ @g.gsub(/regExp/, 'text', /name/)
58
+ }
59
+ end
60
+
61
+ def test_prod_1
62
+ assert_raises(RuntimeError, "") {||
63
+ @g.prod(/iFile/, 'oFile', ['s1', 's2'], 'name')
64
+ }
65
+ end
66
+
67
+ def test_prod_2
68
+ assert_raises(RuntimeError, "") {||
69
+ @g.prod('iFile', /oFile/, ['s1', 's2'], 'name')
70
+ }
71
+ end
72
+
73
+ def test_prod_3
74
+ assert_raises(RuntimeError, "") {||
75
+ @g.prod('iFile', 'oFile', 's1', 'name')
76
+ }
77
+ end
78
+
79
+ def test_prod_4
80
+ assert_raises(RuntimeError, "") {||
81
+ @g.prod('iFile', 'oFile', ['s1', 's2'], /name/)
82
+ }
83
+ end
84
+
85
+ def test_prod?_1
86
+ assert_raises(RuntimeError, "") {||
87
+ @g.prod?(/iFile/, 'oFile', ['s1', 's2'], 'name')
88
+ }
89
+ end
90
+
91
+ def test_prod?_2
92
+ assert_raises(RuntimeError, "") {||
93
+ @g.prod?('iFile', /oFile/, ['s1', 's2'], 'name')
94
+ }
95
+ end
96
+
97
+ def test_prod?_3
98
+ assert_raises(RuntimeError, "") {||
99
+ @g.prod?('iFile', 'oFile', 's1', 'name')
100
+ }
101
+ end
102
+
103
+ def test_prod?_4
104
+ assert_raises(RuntimeError, "") {||
105
+ @g.prod?('iFile', 'oFile', ['s1', 's2'], /name/)
106
+ }
107
+ end
108
+
109
+ def test_gen
110
+ assert_raises(RuntimeError, "") {||
111
+ @g.gen('p1')
112
+ }
113
+ end
114
+
115
+ def test_gen?
116
+ assert_raises(RuntimeError, "") {||
117
+ @g.gen?('p1')
118
+ }
119
+ end
120
+
121
+ def test_add_1
122
+ assert_raises(RuntimeError, "") {||
123
+ @g.add('p1')
124
+ }
125
+ end
126
+
127
+ def test_add_2
128
+ assert_raises(RuntimeError, "") {||
129
+ @g.+('p1')
130
+ }
131
+ end
132
+
133
+ def test_add?
134
+ assert_raises(RuntimeError, "") {||
135
+ @g.add?('p1')
136
+ }
137
+ end
138
+
139
+ def test_sup_1
140
+ assert_raises(RuntimeError, "") {||
141
+ @g << 'p1'
142
+ }
143
+ end
144
+
145
+ def test_sup_2
146
+ assert_raises(RuntimeError, "") {||
147
+ @g.sup!('p1')
148
+ }
149
+ end
150
+
151
+ def test_sup?
152
+ assert_raises(RuntimeError, "") {||
153
+ @g.sup?('p1')
154
+ }
155
+ end
156
+
157
+
158
+ end
@@ -0,0 +1,218 @@
1
+ require 'test/unit'
2
+ require "EFL"
3
+
4
+ ########################################################
5
+ # Bateria de pruebas para la clase Error, que produce diversas excepciones
6
+ # - Pruebas para Error.collision(receiver) desde:
7
+ # - prod, prod?
8
+ # - gen, gen?
9
+ #
10
+ # Ultima actualizacion: 30-9-2004
11
+ ########################################################
12
+
13
+ class ErrorCollision < Test::Unit::TestCase
14
+ def setup
15
+ @g = Generator.new
16
+ @g1 = Generator.new
17
+ @g2 = Generator.new
18
+ @g3 = Generator.new
19
+ @g1.gsub(/pointcut/i, "PTO DE CORTE!!!!", 's1')
20
+ @g1.gsub(/raise/, "LANZAAL!!!!", 's2')
21
+ @g1.prod('archAuxiliares\aspectgen.rb', 'archAuxiliares\s1.txt', 'all', 'p1')
22
+ @g2.sub(/point/i, "POINTCULTTT!!!!", 's1')
23
+ @g2.gsub(/name/, "NOMBRE!!!!", 's3')
24
+ @g2.prod('archAuxiliares\aspectgen.rb', 'archAuxiliares\s1.txt','all', 'p1')
25
+ @g3.sub(/point/i, "POINTCULTTT!!!!", 's4')
26
+ @g3.prod('archAuxiliares\aspectgen.rb', 'archAuxiliares\s1.txt','all', 'p2')
27
+ end
28
+
29
+
30
+ # Pruebas para prod
31
+
32
+ def test_1
33
+ @g.sub(/Pointcut name/, "sust1")
34
+ @g.sub(/name/, "sust2")
35
+ assert(!@g.prod?('archAuxiliares/aspectGen.rb',
36
+ 'archAuxiliares/p1.rb'), '')
37
+ end
38
+
39
+ def test_2
40
+ @g.gsub(/initialize\(name/, "sust1")
41
+ p @g.extract('archAuxiliares/aspectGen.rb', /initialize\(name/)[0]
42
+ @g.sub(/name/, "sust2")
43
+ p @g.extract('archAuxiliares/aspectGen.rb', /name/)[0]
44
+ assert(@g.prod?('archAuxiliares/aspectGen.rb',
45
+ 'archAuxiliares/p1.rb'), '')
46
+ end
47
+
48
+ def test_3
49
+ @g.sub(/initialize\(name/, "sust1")
50
+ @g.gsub(/name/, "sust2")
51
+ assert(!@g.prod?('archAuxiliares/aspectGen.rb',
52
+ 'archAuxiliares/p1.rb'), '')
53
+ assert_raises(RuntimeError, "") {||
54
+ @g.prod('archAuxiliares/aspectGen.rb',
55
+ 'archAuxiliares/p1.rb')
56
+ }
57
+ end
58
+
59
+ def test_4
60
+ @g.gsub(/initialize\(name/, "sust1")
61
+ @g.gsub(/name/, "sust2")
62
+ assert(!@g.prod?('archAuxiliares/aspectGen.rb',
63
+ 'archAuxiliares/p1.rb'), '')
64
+ assert_raises(RuntimeError, "") {||
65
+ @g.prod('archAuxiliares/aspectGen.rb',
66
+ 'archAuxiliares/p1.rb')
67
+ }
68
+ end
69
+
70
+ def test_5
71
+ @g.sub(/initialize\(name/, "sust1")
72
+ @g.sub(/\(name, regEx/, "sust2")
73
+ assert(!@g.prod?('archAuxiliares/aspectGen.rb',
74
+ 'archAuxiliares/p1.rb'), '')
75
+ assert_raises(RuntimeError, "") {||
76
+ @g.prod('archAuxiliares/aspectGen.rb',
77
+ 'archAuxiliares/p1.rb')
78
+ }
79
+ end
80
+
81
+ def test_6
82
+ @g.sub(/initialize\(name/, "sust1")
83
+ @g.gsub(/\(name, regEx/, "sust2")
84
+ assert(!@g.prod?('archAuxiliares/aspectGen.rb',
85
+ 'archAuxiliares/p1.rb'), '')
86
+ assert_raises(RuntimeError, "") {||
87
+ @g.prod('archAuxiliares/aspectGen.rb',
88
+ 'archAuxiliares/p1.rb')
89
+ }
90
+ end
91
+
92
+ def test_7
93
+ @g.gsub(/initialize\(name/, "sust1")
94
+ @g.sub(/\(name, regEx/, "sust2")
95
+ assert(!@g.prod?('archAuxiliares/aspectGen.rb',
96
+ 'archAuxiliares/p1.rb'), '')
97
+ assert_raises(RuntimeError, "") {||
98
+ @g.prod('archAuxiliares/aspectGen.rb',
99
+ 'archAuxiliares/p1.rb')
100
+ }
101
+ end
102
+
103
+ def test_8
104
+ @g.sub(/initialize\(name/, "sust1", 's1')
105
+ @g.sub(/name/, "sust2", 's2')
106
+ assert(!@g.prod?('archAuxiliares/aspectGen.rb',
107
+ 'archAuxiliares/p1.rb', ['s1', 's2', 's1']), '')
108
+ assert_raises(RuntimeError, "") {||
109
+ @g.prod('archAuxiliares/aspectGen.rb',
110
+ 'archAuxiliares/p1.rb', ['s1', 's2', 's1'])
111
+ }
112
+ end
113
+
114
+ def test_9
115
+ @g.gsub(/initialize/, 'constructor', 's1')
116
+ @g.gsub(/crash/, 'colisi�n', 's2')
117
+ @g.prod('archAuxiliares/aspectGen.rb',
118
+ 'archAuxiliares/p1.txt', ['s1', 's2'])
119
+ @g.prod('archAuxiliares/aspectGen.rb',
120
+ 'archAuxiliares/p2.txt', ['s1'])
121
+ assert(@g.gen?)
122
+ @g.gen
123
+ end
124
+
125
+ def test_10
126
+ @g.gsub(/initialize/, 'constructor', 's1')
127
+ @g.gsub(/crash/, 'colisi�n', 's2')
128
+ @g.prod('archAuxiliares/aspectGen.rb',
129
+ 'archAuxiliares/1.txt', ['s1', 's2'])
130
+ @g.prod('archAuxiliares/aspectGenCopy.rb',
131
+ 'archAuxiliares/1.txt', ['s2'])
132
+ assert(!@g.gen?)
133
+ assert_raises(RuntimeError, "") {||
134
+ @g.gen
135
+ }
136
+ end
137
+
138
+ def test_11
139
+ @g.gsub(/initialize/, 'constructor', 's1')
140
+ @g.gsub(/crash/, 'colisi�n', 's2')
141
+ @g.prod('archAuxiliares/aspectGen.rb',
142
+ 'archAuxiliares/1.txt', ['s1'])
143
+ @g.prod('archAuxiliares/aspectGenCopy.rb',
144
+ 'archAuxiliares/1.txt', ['s2'])
145
+ assert(!@g.gen?)
146
+ assert_raises(RuntimeError, "") {||
147
+ @g.gen
148
+ }
149
+ end
150
+
151
+ def test_12
152
+ @g.gsub(/initialize/, 'constructor', 's1')
153
+ @g.gsub(/crash/, 'colisi�n', 's2')
154
+ @g.prod('archAuxiliares/aspectGen.rb',
155
+ 'archAuxiliares/1.txt', ['s1', 's2'])
156
+ @g.prod('archAuxiliares/aspectGen.rb',
157
+ 'archAuxiliares/1.txt', ['s2'])
158
+ assert(!@g.gen?)
159
+ assert_raises(RuntimeError, "") {||
160
+ @g.gen
161
+ }
162
+ end
163
+
164
+ def test_13
165
+ @g.gsub(/initialize/, 'constructor', 's1')
166
+ @g.gsub(/crash/, 'colisi�n', 's2')
167
+ @g.prod('archAuxiliares/aspectGen.rb',
168
+ 'archAuxiliares/1.txt', ['s1'])
169
+ @g.prod('archAuxiliares/aspectGen.rb',
170
+ 'archAuxiliares/1.txt', ['s2', 's1'])
171
+ assert(!@g.gen?)
172
+ assert_raises(RuntimeError, "") {||
173
+ @g.gen
174
+ }
175
+ end
176
+
177
+ def test_14
178
+ @g.sub(/initialize\(name/, "sust1", 's1')
179
+ @g.gsub(/name/, "sust2", 's2')
180
+ @g.prod('archAuxiliares/aspectGen.rb',
181
+ 'archAuxiliares/1.txt', ['s1'])
182
+ @g.prod('archAuxiliares/aspectGen.rb',
183
+ 'archAuxiliares/1.txt', ['s2'])
184
+ assert(!@g.prod?('archAuxiliares/aspectGen.rb',
185
+ 'archAuxiliares/p1.rb'), '')
186
+ assert_raises(RuntimeError, "") {||
187
+ @g.prod('archAuxiliares/aspectGen.rb',
188
+ 'archAuxiliares/p1.rb')
189
+ }
190
+ end
191
+
192
+ # Pruebas para add
193
+
194
+ def test_15
195
+ assert(!@g1.add?(@g2))
196
+ assert_raises(RuntimeError, "") {||
197
+ @g1.add(@g2)
198
+ }
199
+ assert_raises(RuntimeError, "") {||
200
+ @g1 + @g2
201
+ }
202
+ end
203
+
204
+ def test_16
205
+ assert(@g1.sup?(@g2))
206
+ end
207
+
208
+ def test_17
209
+ assert(!@g1.sup?(@g3))
210
+ assert_raises(RuntimeError, "") {||
211
+ @g1.sup!(@g3)
212
+ }
213
+ assert_raises(RuntimeError, "") {||
214
+ @g1 << @g3
215
+ }
216
+ end
217
+
218
+ end