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,25 @@
1
+ require 'test/unit'
2
+ require 'EFL'
3
+
4
+ ########################################################
5
+ # Bateria de pruebas para las funciones add? y sup?
6
+ # Nueva interfaz
7
+ # Ultima actualizacion: 15-6-2007
8
+ ########################################################
9
+
10
+
11
+ class Add_Sup_1 < Test::Unit::TestCase
12
+
13
+ def test_1
14
+ g1 = generator {
15
+ gsub(/initialize/, 'constructor')
16
+ prod('archAuxiliares/aspectGen.rb', 'archAuxiliares/1.txt')
17
+ }
18
+ g2 = generator{
19
+ gsub(/crash/, 'colisi�n')
20
+ prod('archAuxiliares/aspectGen.rb', 'archAuxiliares/2.txt')
21
+ }
22
+ assert(g1.add?(g2))
23
+ end
24
+
25
+ end
@@ -0,0 +1,142 @@
1
+
2
+
3
+ require 'test/unit'
4
+ require 'EFL'
5
+
6
+ ########################################################
7
+ # Bateria de pruebas para el m�todo gen
8
+ #
9
+ # Ultima actualizacion: 30-9-2004
10
+ ########################################################
11
+
12
+ def identicalFiles? (f1, f2)
13
+ result = false
14
+ File.open(f1) { |fi1|
15
+ content01 = fi1.read
16
+ File.open(f2) { |fi2|
17
+ content2 = fi2.read
18
+ result = content01 == content2
19
+ }
20
+ }
21
+ end #identicalFiles
22
+
23
+ class Gen < Test::Unit::TestCase
24
+ def setup
25
+ @g1 = Generator.new
26
+ @g2 = Generator.new
27
+ @g3 = Generator.new
28
+ @g1.gsub(/pointcut/i, "PTO DE CORTE!!!!", 's1')
29
+ @g1.gsub(/raise/, "LANZAAL!!!!", 's2')
30
+ @g1.prod('archAuxiliares\aspectgen.rb', 'archAuxiliares\s1.txt', 'all', 'p1')
31
+ @g2.sub(/initialize/, "CONSTRUCTORRR!!!!", 's1')
32
+ @g2.gsub(/name/, "NOMBRE!!!!", 's3')
33
+ @g2.prod('archAuxiliares\aspectgen.rb', 'archAuxiliares\s1.txt','all', 'p1')
34
+ @g3.gsub(/two/, "DOS!!!!", 's4')
35
+ @g3.prod('archAuxiliares\aspectgen.rb', 'archAuxiliares\s1.txt','all', 'p2')
36
+ end
37
+
38
+ def test_1
39
+ @g1.gen
40
+ @g1.add(@g2).gen
41
+ assert( identicalFiles?('archAuxiliares\Gen\t01.txt', 'archAuxiliares\s1.txt'), '')
42
+ end
43
+
44
+ def test_2
45
+ @g2.add(@g1).gen
46
+ assert( identicalFiles?('archAuxiliares\Gen\t01.txt', 'archAuxiliares\s1.txt'), '')
47
+ end
48
+
49
+ def test_3
50
+ (@g1 + @g2).gen
51
+ assert( identicalFiles?('archAuxiliares\Gen\t01.txt', 'archAuxiliares\s1.txt'), '')
52
+ end
53
+
54
+ def test_4
55
+ (@g2 + @g1).gen
56
+ assert( identicalFiles?('archAuxiliares\Gen\t01.txt', 'archAuxiliares\s1.txt'), '')
57
+ end
58
+
59
+ def test_5
60
+ @g1.sup!(@g2)
61
+ @g1.gen
62
+ assert( !identicalFiles?('archAuxiliares\Gen\t01.txt', 'archAuxiliares\s1.txt'), '')
63
+ end
64
+
65
+ def test_6
66
+ @g1 << @g2
67
+ @g1.gen
68
+ assert( !identicalFiles?('archAuxiliares\Gen\t01.txt', 'archAuxiliares\s1.txt'), '')
69
+ end
70
+
71
+ def test_7
72
+ @g1.sup!(@g2)
73
+ @g1.gen
74
+ assert( identicalFiles?('archAuxiliares\Gen\t02.txt', 'archAuxiliares\s1.txt'), '')
75
+ end
76
+
77
+ def test_8
78
+ @g1 << @g2
79
+ @g1.gen
80
+ assert( identicalFiles?('archAuxiliares\Gen\t02.txt', 'archAuxiliares\s1.txt'), '')
81
+ end
82
+
83
+ def test_9
84
+ @g2 << @g1
85
+ @g2.gen
86
+ assert(! identicalFiles?('archAuxiliares\Gen\t02.txt', 'archAuxiliares\s1.txt'), '')
87
+ end
88
+
89
+ def test_10
90
+
91
+ ((@g1.add(@g2)).add(@g3)).gen
92
+ assert(identicalFiles?('archAuxiliares\Gen\t03.txt', 'archAuxiliares\s1.txt'), '')
93
+ end
94
+
95
+ def test_11
96
+ ((@g2.add(@g3)).add(@g1)).gen
97
+ assert(identicalFiles?('archAuxiliares\Gen\t03.txt', 'archAuxiliares\s1.txt'), '')
98
+ end
99
+
100
+ def test_12
101
+ (@g2 + @g1 + @g3).gen
102
+ assert(identicalFiles?('archAuxiliares\Gen\t03.txt', 'archAuxiliares\s1.txt'), '')
103
+ end
104
+
105
+ def test_13
106
+ (@g1 + @g3 + @g2).gen
107
+ assert(identicalFiles?('archAuxiliares\Gen\t03.txt', 'archAuxiliares\s1.txt'), '')
108
+ end
109
+
110
+ def test_14
111
+ @g1.sup!(@g2)
112
+ @g1.sup!(@g3)
113
+ @g1.gen
114
+ assert(identicalFiles?('archAuxiliares\Gen\t04.txt', 'archAuxiliares\s1.txt'), '')
115
+ end
116
+
117
+ def test_15
118
+ @g1.sup!(@g3)
119
+ @g1.sup!(@g2)
120
+ @g1.gen
121
+ assert(identicalFiles?('archAuxiliares\Gen\t04.txt', 'archAuxiliares\s1.txt'), '')
122
+ end
123
+
124
+ def test_16
125
+ @g1 << @g3 << @g2
126
+ @g1.gen
127
+ assert(identicalFiles?('archAuxiliares\Gen\t04.txt', 'archAuxiliares\s1.txt'), '')
128
+ end
129
+
130
+ def test_17
131
+ @g1 << @g2 << @g3
132
+ @g1.gen
133
+ assert(identicalFiles?('archAuxiliares\Gen\t04.txt', 'archAuxiliares\s1.txt'), '')
134
+ end
135
+
136
+ def test_18
137
+ @g2 << @g2 << @g1
138
+ @g1.gen
139
+ assert(! identicalFiles?('archAuxiliares\Gen\t04.txt', 'archAuxiliares\s1.txt'), '')
140
+ end
141
+ end
142
+
@@ -0,0 +1,140 @@
1
+
2
+ require 'test/unit'
3
+ require 'EFL.rb'
4
+
5
+ ########################################################
6
+ # Bateria de pruebas para el m�todo gen
7
+ #
8
+ # Ultima actualizacion: 30-9-2004
9
+ ########################################################
10
+
11
+ def identicalFiles? (f1, f2)
12
+ result = false
13
+ File.open(f1) { |fi1|
14
+ content01 = fi1.read
15
+ File.open(f2) { |fi2|
16
+ content2 = fi2.read
17
+ result = content01 == content2
18
+ }
19
+ }
20
+ end #identicalFiles
21
+
22
+ class Gen < Test::Unit::TestCase
23
+ def setup
24
+ @g1 = Generator.new
25
+ @g2 = Generator.new
26
+ @g3 = Generator.new
27
+ @g1.gsub(/pointcut/i, "PTO DE CORTE!!!!", 's1')
28
+ @g1.gsub(/raise/, "LANZAAL!!!!", 's2')
29
+ @g1.prod('archAuxiliares\aspectgen.rb', 'archAuxiliares\s1.txt', 'all', 'p1')
30
+ @g2.sub(/initialize/, "CONSTRUCTORRR!!!!", 's1')
31
+ @g2.gsub(/name/, "NOMBRE!!!!", 's3')
32
+ @g2.prod('archAuxiliares\aspectgen.rb', 'archAuxiliares\s1.txt','all', 'p1')
33
+ @g3.gsub(/two/, "DOS!!!!", 's4')
34
+ @g3.prod('archAuxiliares\aspectgen.rb', 'archAuxiliares\s1.txt','all', 'p2')
35
+ end
36
+
37
+ def test_1
38
+ @g1.add(@g2).gen
39
+ assert( identicalFiles?('archAuxiliares\Gen\t01.txt', 'archAuxiliares\s1.txt'), '')
40
+ end
41
+
42
+ def test_2
43
+ @g2.add(@g1).gen
44
+ assert( identicalFiles?('archAuxiliares\Gen\t01.txt', 'archAuxiliares\s1.txt'), '')
45
+ end
46
+
47
+ def test_3
48
+ (@g1 + @g2).gen
49
+ assert( identicalFiles?('archAuxiliares\Gen\t01.txt', 'archAuxiliares\s1.txt'), '')
50
+ end
51
+
52
+ def test_4
53
+ (@g2 + @g1).gen
54
+ assert( identicalFiles?('archAuxiliares\Gen\t01.txt', 'archAuxiliares\s1.txt'), '')
55
+ end
56
+
57
+ def test_5
58
+ @g1.sup!(@g2)
59
+ @g1.gen
60
+ assert( !identicalFiles?('archAuxiliares\Gen\t01.txt', 'archAuxiliares\s1.txt'), '')
61
+ end
62
+
63
+ def test_6
64
+ @g1 << @g2
65
+ @g1.gen
66
+ assert( !identicalFiles?('archAuxiliares\Gen\t01.txt', 'archAuxiliares\s1.txt'), '')
67
+ end
68
+
69
+ def test_7
70
+ @g1.sup!(@g2)
71
+ @g1.gen
72
+ assert( identicalFiles?('archAuxiliares\Gen\t02.txt', 'archAuxiliares\s1.txt'), '')
73
+ end
74
+
75
+ def test_8
76
+ @g1 << @g2
77
+ @g1.gen
78
+ assert( identicalFiles?('archAuxiliares\Gen\t02.txt', 'archAuxiliares\s1.txt'), '')
79
+ end
80
+
81
+ def test_9
82
+ @g2 << @g1
83
+ @g2.gen
84
+ assert(! identicalFiles?('archAuxiliares\Gen\t02.txt', 'archAuxiliares\s1.txt'), '')
85
+ end
86
+
87
+ def test_10
88
+
89
+ ((@g1.add(@g2)).add(@g3)).gen
90
+ assert(identicalFiles?('archAuxiliares\Gen\t03.txt', 'archAuxiliares\s1.txt'), '')
91
+ end
92
+
93
+ def test_11
94
+ ((@g2.add(@g3)).add(@g1)).gen
95
+ assert(identicalFiles?('archAuxiliares\Gen\t03.txt', 'archAuxiliares\s1.txt'), '')
96
+ end
97
+
98
+ def test_12
99
+ (@g2 + @g1 + @g3).gen
100
+ assert(identicalFiles?('archAuxiliares\Gen\t03.txt', 'archAuxiliares\s1.txt'), '')
101
+ end
102
+
103
+ def test_13
104
+ (@g1 + @g3 + @g2).gen
105
+ assert(identicalFiles?('archAuxiliares\Gen\t03.txt', 'archAuxiliares\s1.txt'), '')
106
+ end
107
+
108
+ def test_14
109
+ @g1.sup!(@g2)
110
+ @g1.sup!(@g3)
111
+ @g1.gen
112
+ assert(identicalFiles?('archAuxiliares\Gen\t04.txt', 'archAuxiliares\s1.txt'), '')
113
+ end
114
+
115
+ def test_15
116
+ @g1.sup!(@g3)
117
+ @g1.sup!(@g2)
118
+ @g1.gen
119
+ assert(identicalFiles?('archAuxiliares\Gen\t04.txt', 'archAuxiliares\s1.txt'), '')
120
+ end
121
+
122
+ def test_16
123
+ @g1 << @g3 << @g2
124
+ @g1.gen
125
+ assert(identicalFiles?('archAuxiliares\Gen\t04.txt', 'archAuxiliares\s1.txt'), '')
126
+ end
127
+
128
+ def test_17
129
+ @g1 << @g2 << @g3
130
+ @g1.gen
131
+ assert(identicalFiles?('archAuxiliares\Gen\t04.txt', 'archAuxiliares\s1.txt'), '')
132
+ end
133
+
134
+ def test_18
135
+ @g2 << @g2 << @g1
136
+ @g1.gen
137
+ assert(! identicalFiles?('archAuxiliares\Gen\t04.txt', 'archAuxiliares\s1.txt'), '')
138
+ end
139
+ end
140
+
@@ -0,0 +1,2 @@
1
+ require "All_1"
2
+ require "All_2"
@@ -0,0 +1,7 @@
1
+ require 'test/unit'
2
+ require 'HashTest'
3
+ #require 'RenameTest'
4
+ require 'Add_Sup_1'
5
+ require 'Add_Sup_2'
6
+ require 'Satisfy'
7
+ require 'Error'
@@ -0,0 +1,7 @@
1
+ require 'Extract'
2
+ require 'REVit'
3
+ require 'Del'
4
+ require 'BeforeAfter'
5
+ require 'Complementary'
6
+ require 'ComplementaryZoom'
7
+ require 'Minus'
@@ -0,0 +1,5 @@
1
+ require 'Extract'
2
+ require 'REVit'
3
+ require 'Del'
4
+ require 'BeforeAfter'
5
+ require 'Neg'
@@ -0,0 +1,83 @@
1
+ require 'test/unit'
2
+ require "EFL"
3
+
4
+ ########################################################
5
+ # Bateria de pruebas para las sentencias before, gbefopre, after y gafter
6
+ #
7
+ # Ultima actualizacion: 14-9-2007
8
+ ########################################################
9
+
10
+ def identicalFiles? (f1, f2)
11
+ result = false
12
+ File.open(f1) { |fi1|
13
+ content01 = fi1.read
14
+ File.open(f2) { |fi2|
15
+ content2 = fi2.read
16
+ result = content01 == content2
17
+ }
18
+ }
19
+ end #identicalFiles
20
+
21
+
22
+ class BeforeAfter < Test::Unit::TestCase
23
+ def test_1
24
+ g1 = generator {
25
+ reg_exp_str_1 = nested_symbols( '{' , '}' ).to_s
26
+ reg_exp_str_2 = nested_symbols( '(' , ')' ).to_s
27
+ before(/escribirMatriz\(\)\s*#{reg_exp_str_1}/m >
28
+ /for.*?#{reg_exp_str_1}/m >
29
+ nested_symbols( '{' , '}' ) >
30
+ /for.*?(#{reg_exp_str_2})/m >
31
+ nested_symbols( '(' , ')') >
32
+ /j(=)0/,
33
+ '<<before_1>>'
34
+ )
35
+ gbefore(nested_symbols( '{' , '}' ) > /Matriz/, '<<before_2>>')
36
+
37
+ prod('archAuxiliares/Matriz.java', 'archAuxiliares/MatrizOut3.java')
38
+ }
39
+ g2 = generator {
40
+ gafter(/Matriz/, '<<after_1>>')
41
+ gsub(nested_symbols( '{' , '}' ) > /Matriz/, '<<sub_1>>')
42
+ prod('archAuxiliares/Matriz.java', 'archAuxiliares/MatrizOut3.java')
43
+ }
44
+
45
+ g3 = generator {
46
+ after(/print/, '<<after_2>>')
47
+ sub(/Matriz/, '<<sub_2>>')
48
+ prod('archAuxiliares/Matriz.java', 'archAuxiliares/MatrizOut3.java')
49
+ }
50
+ (g1+g2+g3).gen
51
+ assert( identicalFiles?('archAuxiliares/Matriz_3.java', 'archAuxiliares/MatrizOut3.java') )
52
+ end
53
+ def test_2
54
+ g1 = generator {
55
+ reg_exp_str_1 = nested_symbols( '{' , '}' ).to_s
56
+ reg_exp_str_2 = nested_symbols( '(' , ')' ).to_s
57
+ before(/escribirMatriz\(\)\s*#{reg_exp_str_1}/m >
58
+ /for.*?#{reg_exp_str_1}/m >
59
+ nested_symbols( '{' , '}' ) >
60
+ /for.*?(#{reg_exp_str_2})/m >
61
+ nested_symbols( '(' , ')') >
62
+ /j(=)0/,
63
+ '<<before_1>>'
64
+ )
65
+ gbefore(nested_symbols( '{' , '}' ) > /Matriz/, '<<before_2>>')
66
+
67
+ prod('archAuxiliares/Matriz.java', 'archAuxiliares/MatrizOut4.java')
68
+ }
69
+ g2 = generator {
70
+ gafter(/Matriz/, '<<after_1>>')
71
+ gdel(nested_symbols( '{' , '}' ) > /Matriz/)
72
+ prod('archAuxiliares/Matriz.java', 'archAuxiliares/MatrizOut4.java')
73
+ }
74
+
75
+ g3 = generator {
76
+ after(/print/, '<<after_2>>')
77
+ del(/Matriz/)
78
+ prod('archAuxiliares/Matriz.java', 'archAuxiliares/MatrizOut4.java')
79
+ }
80
+ (g1+g2+g3).gen
81
+ assert( identicalFiles?('archAuxiliares/Matriz_4.java', 'archAuxiliares/MatrizOut4.java') )
82
+ end
83
+ end
@@ -0,0 +1,34 @@
1
+ require 'test/unit'
2
+ require 'EFL'
3
+
4
+ ########################################################
5
+ # Bateria de pruebas para las sustituciones con bloques
6
+ #
7
+ # Ultima actualizacion: 14-12-2004
8
+ ########################################################
9
+
10
+ def identicalFiles? (f1, f2)
11
+ result = false
12
+ File.open(f1) { |fi1|
13
+ content01 = fi1.read
14
+ File.open(f2) { |fi2|
15
+ content2 = fi2.read
16
+ result = content01 == content2
17
+ }
18
+ }
19
+ end #identicalFiles
20
+
21
+ class Gen < Test::Unit::TestCase
22
+ def setup
23
+ @g1 = Generator.new
24
+ end
25
+
26
+ def test_1
27
+ @g1.sub(/(pointcut)/i, "PTO DE CORTE!!!! = ") {
28
+ "PTO DE CORTE!!!! = #{$1}"
29
+ }
30
+ @g1.prod('archAuxiliares\aspectgen.rb', 'archAuxiliares\Bloques\s1.txt')
31
+ @g1.gen
32
+ assert( identicalFiles?('archAuxiliares\Bloques\uno.txt', 'archAuxiliares\Bloques\s1.txt'), '')
33
+ end
34
+ end