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,219 @@
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.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
+
17
+ @g1 = Generator.new
18
+ @g2 = Generator.new
19
+ @g3 = Generator.new
20
+ @g1.gsub(/pointcut/i, "PTO DE CORTE!!!!", 's1')
21
+ @g1.gsub(/raise/, "LANZAAL!!!!", 's2')
22
+ @g1.prod('archAuxiliares\aspectgen.rb', 'archAuxiliares\s1.txt', 'all', 'p1')
23
+ @g2.sub(/point/i, "POINTCULTTT!!!!", 's1')
24
+ @g2.gsub(/name/, "NOMBRE!!!!", 's3')
25
+ @g2.prod('archAuxiliares\aspectgen.rb', 'archAuxiliares\s1.txt','all', 'p1')
26
+ @g3.sub(/point/i, "POINTCULTTT!!!!", 's4')
27
+ @g3.prod('archAuxiliares\aspectgen.rb', 'archAuxiliares\s1.txt','all', 'p2')
28
+ end
29
+
30
+ # Pruebas para prod
31
+
32
+ def test_1
33
+ @g.gsub(/initialize/, 'constructor')
34
+ @g.gsub(/crash/, 'colisi�n')
35
+ assert(@g.prod?('archAuxiliares/aspectGen.rb',
36
+ 'archAuxiliares/p1'), "")
37
+ end
38
+
39
+
40
+ def test_2
41
+ @g.gsub(/initialize\(name/, "sust1")
42
+ @g.sub(/name/, "sust2")
43
+ assert(@g.prod?('archAuxiliares/aspectGen.rb',
44
+ 'archAuxiliares/p1.rb'), '')
45
+ end
46
+
47
+ def test_3
48
+ @g.sub(/initialize\(name/, "sust1")
49
+ @g.gsub(/name/, "sust2")
50
+ assert(!@g.prod?('archAuxiliares/aspectGen.rb',
51
+ 'archAuxiliares/p1.rb'), '')
52
+ assert_raises(RuntimeError, "") {||
53
+ @g.prod('archAuxiliares/aspectGen.rb',
54
+ 'archAuxiliares/p1.rb')
55
+ }
56
+ end
57
+
58
+ def test_4
59
+ @g.gsub(/initialize\(name/, "sust1")
60
+ @g.gsub(/name/, "sust2")
61
+ assert(!@g.prod?('archAuxiliares/aspectGen.rb',
62
+ 'archAuxiliares/p1.rb'), '')
63
+ assert_raises(RuntimeError, "") {||
64
+ @g.prod('archAuxiliares/aspectGen.rb',
65
+ 'archAuxiliares/p1.rb')
66
+ }
67
+ end
68
+
69
+ def test_5
70
+ @g.sub(/initialize\(name/, "sust1")
71
+ @g.sub(/\(name, regEx/, "sust2")
72
+ assert(!@g.prod?('archAuxiliares/aspectGen.rb',
73
+ 'archAuxiliares/p1.rb'), '')
74
+ assert_raises(RuntimeError, "") {||
75
+ @g.prod('archAuxiliares/aspectGen.rb',
76
+ 'archAuxiliares/p1.rb')
77
+ }
78
+ end
79
+
80
+ def test_6
81
+ @g.sub(/initialize\(name/, "sust1")
82
+ @g.gsub(/\(name, regEx/, "sust2")
83
+ assert(!@g.prod?('archAuxiliares/aspectGen.rb',
84
+ 'archAuxiliares/p1.rb'), '')
85
+ assert_raises(RuntimeError, "") {||
86
+ @g.prod('archAuxiliares/aspectGen.rb',
87
+ 'archAuxiliares/p1.rb')
88
+ }
89
+ end
90
+
91
+ def test_7
92
+ @g.gsub(/initialize\(name/, "sust1")
93
+ @g.sub(/\(name, regEx/, "sust2")
94
+ assert(!@g.prod?('archAuxiliares/aspectGen.rb',
95
+ 'archAuxiliares/p1.rb'), '')
96
+ assert_raises(RuntimeError, "") {||
97
+ @g.prod('archAuxiliares/aspectGen.rb',
98
+ 'archAuxiliares/p1.rb')
99
+ }
100
+ end
101
+
102
+ def test_8
103
+ @g.sub(/initialize\(name/, "sust1", 's1')
104
+ @g.sub(/name/, "sust2", 's2')
105
+ assert(!@g.prod?('archAuxiliares/aspectGen.rb',
106
+ 'archAuxiliares/p1.rb', ['s1', 's2', 's1']), '')
107
+ assert_raises(RuntimeError, "") {||
108
+ @g.prod('archAuxiliares/aspectGen.rb',
109
+ 'archAuxiliares/p1.rb', ['s1', 's2', 's1'])
110
+ }
111
+ end
112
+
113
+ # Pruebas para gen
114
+
115
+ def test_9
116
+ @g.gsub(/initialize/, 'constructor', 's1')
117
+ @g.gsub(/crash/, 'colisi�n', 's2')
118
+ @g.prod('archAuxiliares/aspectGen.rb',
119
+ 'archAuxiliares/p1.txt', ['s1', 's2'])
120
+ @g.prod('archAuxiliares/aspectGen.rb',
121
+ 'archAuxiliares/p2.txt', ['s1'])
122
+ assert(@g.gen?)
123
+ @g.gen
124
+ end
125
+
126
+ def test_10
127
+ @g.gsub(/initialize/, 'constructor', 's1')
128
+ @g.gsub(/crash/, 'colisi�n', 's2')
129
+ @g.prod('archAuxiliares/aspectGen.rb',
130
+ 'archAuxiliares/1.txt', ['s1', 's2'])
131
+ @g.prod('archAuxiliares/aspectGenCopy.rb',
132
+ 'archAuxiliares/1.txt', ['s2'])
133
+ assert(!@g.gen?)
134
+ assert_raises(RuntimeError, "") {||
135
+ @g.gen
136
+ }
137
+ end
138
+
139
+ def test_11
140
+ @g.gsub(/initialize/, 'constructor', 's1')
141
+ @g.gsub(/crash/, 'colisi�n', 's2')
142
+ @g.prod('archAuxiliares/aspectGen.rb',
143
+ 'archAuxiliares/1.txt', ['s1'])
144
+ @g.prod('archAuxiliares/aspectGenCopy.rb',
145
+ 'archAuxiliares/1.txt', ['s2'])
146
+ assert(!@g.gen?)
147
+ assert_raises(RuntimeError, "") {||
148
+ @g.gen
149
+ }
150
+ end
151
+
152
+ def test_12
153
+ @g.gsub(/initialize/, 'constructor', 's1')
154
+ @g.gsub(/crash/, 'colisi�n', 's2')
155
+ @g.prod('archAuxiliares/aspectGen.rb',
156
+ 'archAuxiliares/1.txt', ['s1', 's2'])
157
+ @g.prod('archAuxiliares/aspectGen.rb',
158
+ 'archAuxiliares/1.txt', ['s2'])
159
+ assert(!@g.gen?)
160
+ assert_raises(RuntimeError, "") {||
161
+ @g.gen
162
+ }
163
+ end
164
+
165
+ def test_13
166
+ @g.gsub(/initialize/, 'constructor', 's1')
167
+ @g.gsub(/crash/, 'colisi�n', 's2')
168
+ @g.prod('archAuxiliares/aspectGen.rb',
169
+ 'archAuxiliares/1.txt', ['s1'])
170
+ @g.prod('archAuxiliares/aspectGen.rb',
171
+ 'archAuxiliares/1.txt', ['s2', 's1'])
172
+ assert(!@g.gen?)
173
+ assert_raises(RuntimeError, "") {||
174
+ @g.gen
175
+ }
176
+ end
177
+
178
+ def test_14
179
+ @g.sub(/initialize\(name/, "sust1", 's1')
180
+ @g.gsub(/name/, "sust2", 's2')
181
+ @g.prod('archAuxiliares/aspectGen.rb',
182
+ 'archAuxiliares/1.txt', ['s1'])
183
+ @g.prod('archAuxiliares/aspectGen.rb',
184
+ 'archAuxiliares/1.txt', ['s2'])
185
+ assert(!@g.prod?('archAuxiliares/aspectGen.rb',
186
+ 'archAuxiliares/p1.rb'), '')
187
+ assert_raises(RuntimeError, "") {||
188
+ @g.prod('archAuxiliares/aspectGen.rb',
189
+ 'archAuxiliares/p1.rb')
190
+ }
191
+ end
192
+
193
+ # Pruebas para add
194
+
195
+ def test_15
196
+ assert(!@g1.add?(@g2))
197
+ assert_raises(RuntimeError, "") {||
198
+ @g1.add(@g2)
199
+ }
200
+ assert_raises(RuntimeError, "") {||
201
+ @g1 + @g2
202
+ }
203
+ end
204
+
205
+ def test_16
206
+ assert(@g1.sup?(@g2))
207
+ end
208
+
209
+ def test_17
210
+ assert(!@g1.sup?(@g3))
211
+ assert_raises(RuntimeError, "") {||
212
+ @g1.sup!(@g3)
213
+ }
214
+ assert_raises(RuntimeError, "") {||
215
+ @g1 << @g3
216
+ }
217
+ end
218
+
219
+ end
@@ -0,0 +1,60 @@
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.withoutDeclaration(element) desde:
7
+ # - prod, prod?
8
+ # - gen, gen?
9
+ #
10
+ # Ultima actualizacion: 30-9-2004
11
+ ########################################################
12
+
13
+ class ErrorWithoutDeclaration < Test::Unit::TestCase
14
+ def setup
15
+ @g = Generator.new
16
+ @g.gsub(/pointcut/i, "PTO DE CORTE!!!!")
17
+ @g.gsub(/raise/, "LANZAAL!!!!", 's2')
18
+ @g.sub(/initialize/, 'CONSTRUCTORRR!!!!', 's3')
19
+ @g.gsub(/name/, "NOMBRE!!!!", 's4')
20
+ @g.prod('archAuxiliares/aspectgen.rb',
21
+ 'archAuxiliares/basura.txt', ['s2', 's3'], 'name')
22
+ end
23
+
24
+ def test_prod_1
25
+ assert_raises(RuntimeError, "") {||
26
+ @g.prod('iFile', 'oFile', ['s1', 's2'], 'name')
27
+ }
28
+ end
29
+
30
+ def test_prod_2
31
+ assert_raises(RuntimeError, "") {||
32
+ @g.prod('iFile', 'oFile', ['s2', 's3', 's9898'], 'name')
33
+ }
34
+ end
35
+
36
+ def test_prod_1?
37
+ assert_raises(RuntimeError, "") {||
38
+ @g.prod?('iFile', 'oFile', ['s1', 's2'])
39
+ }
40
+ end
41
+
42
+ def test_prod_2?
43
+ assert_raises(RuntimeError, "") {||
44
+ @g.prod?('iFile', 'oFile', ['s2', 's3', 's9898'])
45
+ }
46
+ end
47
+
48
+ def test_gen
49
+ assert_raises(RuntimeError, "") {||
50
+ @g.gen(['p1'])
51
+ }
52
+ end
53
+
54
+ def test_gen?
55
+ assert_raises(RuntimeError, "") {||
56
+ @g.gen(['p1'])
57
+ }
58
+ end
59
+
60
+ end
@@ -0,0 +1,60 @@
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.withoutDeclaration(element) desde:
7
+ # - prod, prod?
8
+ # - gen, gen?
9
+ #
10
+ # Ultima actualizacion: 30-9-2004
11
+ ########################################################
12
+
13
+ class ErrorWithoutDeclaration < Test::Unit::TestCase
14
+ def setup
15
+ @g = Generator.new
16
+ @g.gsub(/pointcut/i, "PTO DE CORTE!!!!")
17
+ @g.gsub(/raise/, "LANZAAL!!!!", 's2')
18
+ @g.sub(/initialize/, 'CONSTRUCTORRR!!!!', 's3')
19
+ @g.gsub(/name/, "NOMBRE!!!!", 's4')
20
+ @g.prod('archAuxiliares/aspectgen.rb',
21
+ 'archAuxiliares/basura.txt', ['s2', 's3'], 'name')
22
+ end
23
+
24
+ def test_prod_1
25
+ assert_raises(RuntimeError, "") {||
26
+ @g.prod('iFile', 'oFile', ['s1', 's2'], 'name')
27
+ }
28
+ end
29
+
30
+ def test_prod_2
31
+ assert_raises(RuntimeError, "") {||
32
+ @g.prod('iFile', 'oFile', ['s2', 's3', 's9898'], 'name')
33
+ }
34
+ end
35
+
36
+ def test_prod_1?
37
+ assert_raises(RuntimeError, "") {||
38
+ @g.prod?('iFile', 'oFile', ['s1', 's2'])
39
+ }
40
+ end
41
+
42
+ def test_prod_2?
43
+ assert_raises(RuntimeError, "") {||
44
+ @g.prod?('iFile', 'oFile', ['s2', 's3', 's9898'])
45
+ }
46
+ end
47
+
48
+ def test_gen
49
+ assert_raises(RuntimeError, "") {||
50
+ @g.gen(['p1'])
51
+ }
52
+ end
53
+
54
+ def test_gen?
55
+ assert_raises(RuntimeError, "") {||
56
+ @g.gen(['p1'])
57
+ }
58
+ end
59
+
60
+ end
@@ -0,0 +1,56 @@
1
+ require 'test/unit'
2
+ require "EFL"
3
+
4
+ ########################################################
5
+ # Bateria de pruebas para la funcion extract
6
+ #
7
+ # Ultima actualizacion: 19-7-2007
8
+ ########################################################
9
+
10
+ class Extract < Test::Unit::TestCase
11
+ def test_1
12
+ g = generator
13
+ resultado_obtenido = g.extract('archAuxiliares/Matriz.java',
14
+ nested_symbols( '{' , '}' ) >
15
+ nested_symbols( '(' , ')' ) >
16
+ /num\w+/ )
17
+ resultado_esperado = ["numFilas", "numColumnas", "numFilas", "numColumnas", "numFilas", "numColumnas"]
18
+ assert(resultado_obtenido == resultado_esperado)
19
+ end
20
+
21
+ def test_2
22
+ g = generator
23
+ resultado_obtenido = g.extract('archAuxiliares/Matriz.java',
24
+ /num\w+/ )
25
+ assert(resultado_obtenido.include?("numOtrasCosas"))
26
+ end
27
+
28
+ def test_3
29
+ g = generator
30
+ resultado_obtenido = g.extract('archAuxiliares/Matriz.java',
31
+ nested_symbols( '{' , '}' ) >
32
+ nested_symbols( '(' , ')' ) >
33
+ /obtenerNumFilas/ )
34
+ assert(resultado_obtenido.length==2)
35
+ resultado_obtenido = g.extract('archAuxiliares/Matriz.java',
36
+ nested_symbols( '{' , '}' ) >
37
+ nested_symbols( '(' , ')' ) >
38
+ /obtenerNumColumnasOtras/ )
39
+ assert(resultado_obtenido.length==1)
40
+ end
41
+
42
+ def test_4
43
+ g = generator
44
+ reg_exp_str_1 = nested_symbols( '{' , '}' ).to_s
45
+ reg_exp_str_2 = nested_symbols( '(' , ')' ).to_s
46
+ resultado_obtenido = g.extract('archAuxiliares/Matriz.java',
47
+ /escribirMatriz\(\)\s*#{reg_exp_str_1}/m >
48
+ /for.*?#{reg_exp_str_1}/m >
49
+ nested_symbols( '{' , '}' ) >
50
+ /for.*?(#{reg_exp_str_2})/m >
51
+ nested_symbols( '(' , ')')
52
+ )
53
+ assert(resultado_obtenido[0] == "(int j=0; j<numColumnas; j++)")
54
+ end
55
+
56
+ end
@@ -0,0 +1,17 @@
1
+ require 'test/unit'
2
+ require "EFL"
3
+
4
+ ########################################################
5
+ # Bateria de pruebas para la funcion extract_dollar
6
+ #
7
+ # Ultima actualizacion: 5-10-2007
8
+ ########################################################
9
+
10
+ class ExtractDollar < Test::Unit::TestCase
11
+ def test_1
12
+ g = generator
13
+ puts "$1 = " + g.extract_dollar('archAuxiliares/extract_dollar.txt', /(This).*?(code).*?/, 1).to_s
14
+ puts "$2 = " + g.extract_dollar('archAuxiliares/extract_dollar.txt', /(This).*?(code).*?/, 2).to_s
15
+ end
16
+
17
+ end
@@ -0,0 +1,54 @@
1
+ require 'test/unit'
2
+ require "EFL"
3
+
4
+ ########################################################
5
+ # Bateria de pruebas para los m�todos incorporados a Hash
6
+ #
7
+ # Ultima actualizacion: 1-10-2004
8
+ ########################################################
9
+
10
+ class HashTest < Test::Unit::TestCase
11
+ def setup
12
+ @hash1 = {
13
+ 'clave1' => ['1', '2'],
14
+ 'clave2' => ['3']
15
+ }
16
+
17
+ @hash2 = {
18
+ 'clave1_texto' => ['1', '2'],
19
+ 'clave2_texto' => ['3']
20
+ }
21
+
22
+ @hash3 = {
23
+ 'clave1' => ['texto_1', 'texto_2'],
24
+ 'clave2' => ['texto_3']
25
+ }
26
+
27
+ @hash4 = {
28
+ 'clave1_texto' => ['texto_1', 'texto_2'],
29
+ 'clave2_texto' => ['texto_3']
30
+ }
31
+
32
+ end #setup
33
+
34
+ def test_my_collect
35
+ assert_equal(@hash2,
36
+ @hash1.my_collect {|k, v|
37
+ ["#{k}_texto", v]
38
+ },
39
+ '')
40
+
41
+ assert_equal(@hash3,
42
+ @hash1.my_collect {|k, v|
43
+ [k, v.collect!{|e| "texto_#{e}"}]
44
+ },
45
+ '')
46
+
47
+ assert_equal(@hash4,
48
+ @hash1.my_collect {|k, v|
49
+ ["#{k}_texto", v.collect!{|e| "texto_#{e}"}]
50
+ },
51
+ '')
52
+ end #test_my_collect
53
+
54
+ end #HashTest