modai_prct10 0.0.1 → 0.0.2

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.
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 05739c7ea7b0173c50241ff8657ac2ada85f4159
4
- data.tar.gz: cbbc2e606c2bbac433c21c43cf674719a622fd74
3
+ metadata.gz: fa16e4eb44f3cd5146146102853400b6adf4f6e0
4
+ data.tar.gz: c0501b57b1912d4e3617b3ad626f44c50a2784e6
5
5
  SHA512:
6
- metadata.gz: 35a2dfed99c627420196974c5199b0cf84fafcba3923f9e9ba2f9160098c52bbf0a7ac64909d86442acf97b53da1c2341e0f524a90e9c485a25ac25ba7a5fa0b
7
- data.tar.gz: bab5d437aebbe4ae9b747953c6dcbe0e19e98c6038b7b48c3e225a2e966d2c0f21546889afd0f5bfcce2898903a42c5208e7c75a06e06709b98c2a8be0487362
6
+ metadata.gz: a66780cb36f35be245aa87b0afcb88583a640cb70183f47e8ab83f1c3ee279297f85aa9f01b6bab3630e7dc5ec570cd2693396f8e6d10d55615fd4a9c458c321
7
+ data.tar.gz: ec07928ad42bbdac95c0219f45c9c47a7fcc8f79cd32580a8fc00e9bcc3162b8346f73cb8e49ddb27f65ee2588d1530c1e3a83eac57ee611bbdb4f6d44b8177e
data/Guardfile CHANGED
@@ -36,3 +36,31 @@ guard :rspec do
36
36
  watch(%r{^spec/acceptance/steps/(.+)_steps\.rb$}) { |m| Dir[File.join("**/#{m[1]}.feature")][0] || 'spec/acceptance' }
37
37
  end
38
38
 
39
+
40
+ guard :bundler do
41
+ watch('Gemfile')
42
+ # Uncomment next line if your Gemfile contains the `gemspec' command.
43
+ # watch(/^.+\.gemspec/)
44
+ end
45
+
46
+ guard :rspec do
47
+ watch(%r{^spec/.+_spec\.rb$})
48
+ watch(%r{^lib/(.+)\.rb$}) { |m| "spec/lib/#{m[1]}_spec.rb" }
49
+ watch('spec/spec_helper.rb') { "spec" }
50
+
51
+ # Rails example
52
+ watch(%r{^app/(.+)\.rb$}) { |m| "spec/#{m[1]}_spec.rb" }
53
+ watch(%r{^app/(.*)(\.erb|\.haml|\.slim)$}) { |m| "spec/#{m[1]}#{m[2]}_spec.rb" }
54
+ watch(%r{^app/controllers/(.+)_(controller)\.rb$}) { |m| ["spec/routing/#{m[1]}_routing_spec.rb", "spec/#{m[2]}s/#{m[1]}_#{m[2]}_spec.rb", "spec/acceptance/#{m[1]}_spec.rb"] }
55
+ watch(%r{^spec/support/(.+)\.rb$}) { "spec" }
56
+ watch('config/routes.rb') { "spec/routing" }
57
+ watch('app/controllers/application_controller.rb') { "spec/controllers" }
58
+
59
+ # Capybara features specs
60
+ watch(%r{^app/views/(.+)/.*\.(erb|haml|slim)$}) { |m| "spec/features/#{m[1]}_spec.rb" }
61
+
62
+ # Turnip features and steps
63
+ watch(%r{^spec/acceptance/(.+)\.feature$})
64
+ watch(%r{^spec/acceptance/steps/(.+)_steps\.rb$}) { |m| Dir[File.join("**/#{m[1]}.feature")][0] || 'spec/acceptance' }
65
+ end
66
+
data/lib/modai_prct10.rb CHANGED
@@ -76,6 +76,33 @@ class MatrizDensa < MatrizAbstracta
76
76
 
77
77
  end
78
78
 
79
+ # Suma de matrices densa con dispersa (sobreescribimos el operador / como prueba)
80
+ def /(o)
81
+
82
+ suma = Array.new(matriz.size - 1)
83
+ for i in 0...matriz.size
84
+ suma[i] = Array.new(matriz[i].size - 1)
85
+ for j in 0...matriz[i].size
86
+
87
+ suma[i][j] = matriz[i][j]
88
+
89
+ # comprobamos el hash
90
+ if (o.matriz[i] != nil)
91
+
92
+ # hay datos en el has para la columna
93
+ if o.matriz[i].has_key?(j)
94
+ suma[i][j] = matriz[i][j] + o.matriz[i][j]
95
+ end
96
+
97
+ end
98
+
99
+ end
100
+ end
101
+ MatrizDensa.new(suma)
102
+
103
+ end
104
+
105
+
79
106
  # Resta de matrices
80
107
  def -(o)
81
108
 
@@ -1,3 +1,3 @@
1
1
  module ModaiPrct10
2
- VERSION = "0.0.1"
2
+ VERSION = "0.0.2"
3
3
  end
@@ -6,7 +6,7 @@ describe ModaiPrct10 do
6
6
 
7
7
  before :each do
8
8
 
9
- # Matrices DENSAS
9
+ # Matrices DENSAS
10
10
  matA = [[1,2],[3,4]]
11
11
  matB = [[221,2],[3,4]]
12
12
 
@@ -18,8 +18,8 @@ describe ModaiPrct10 do
18
18
 
19
19
  @matrizA_R = MatrizDensa.new(matA_R)
20
20
  @matrizB_R = MatrizDensa.new(matB_R)
21
-
22
- # Matrices DISPERSAS
21
+
22
+ # Matrices DISPERSAS
23
23
  matC = [nil, {1 => 4}] # [[0,0],[0,4]]
24
24
  matD = [{0 => 5}, nil] # [[5,0],[0,0]]
25
25
 
@@ -30,7 +30,16 @@ describe ModaiPrct10 do
30
30
  @matrizC = MatrizDispersa.new(matD)
31
31
 
32
32
  @matrizC_R = MatrizDispersa.new(matC_R)
33
- @matrizC_R = MatrizDispersa.new(matD_R)
33
+ @matrizC_R = MatrizDispersa.new(matD_R)
34
+
35
+ # Matrices creadas en horas de practicas
36
+ matA_P_DEN = [[3.4],[5.6]]
37
+ matB_P_DIS = [nil,{1 => 1}]
38
+ matB_R_DIS = [nil,{1 => Racional.new(1,2)}]
39
+
40
+ @matrizA_P_DEN = MatrizDensa.new(matA_P_DEN)
41
+ @matrizB_P_DIS = MatrizDispersa.new(matB_P_DIS)
42
+ @matrizB_R_DIS = MatrizDispersa.new(matB_R_DIS)
34
43
 
35
44
  end
36
45
 
@@ -121,7 +130,7 @@ describe ModaiPrct10 do
121
130
  end
122
131
 
123
132
  end
124
-
133
+
125
134
  context 'comprobar los accessors (DISPERSA)' do
126
135
 
127
136
  it "Se debe invocar al metodo matriz() para obtener la matriz (DISPERSA)" do
@@ -177,12 +186,12 @@ describe ModaiPrct10 do
177
186
  (@matrizC - @matrizC).to_s.should == MatrizDispersa.new([{0 => -5}, {1 => 4}]).to_s
178
187
  end
179
188
 
180
- =begin
181
- it "Se debe poder multiplicar dos matrices (DISPERSA)" do
182
- (@matrizC * @matrizC).to_s.should == MatrizDispersa.new([[227,10], [675,22]]).to_s
183
- end
189
+ =begin
190
+ it "Se debe poder multiplicar dos matrices (DISPERSA)" do
191
+ (@matrizC * @matrizC).to_s.should == MatrizDispersa.new([[227,10], [675,22]]).to_s
192
+ end
184
193
 
185
- =end
194
+ =end
186
195
  it "Se debe poder sumar dos matrices de racionales (DISPERSA)" do
187
196
  (@matrizC_R + @matrizC_R).to_s.should == MatrizDispersa.new([{0 => Racional.new(5,1)}, {1 => Racional.new(4,1)}]).to_s
188
197
  end
@@ -213,6 +222,16 @@ describe ModaiPrct10 do
213
222
 
214
223
  end
215
224
 
216
- end
225
+ context 'Comprobar modificacion en la hora de practica' do
217
226
 
227
+ it "Se debe sumar matriz DENSA con DISPERSA" do
228
+ (@matrizA_P_DEN / @matrizB_P_DIS).to_s.should == MatrizDensa.new([[3,4], [5,7]]).to_s
229
+ end
230
+
231
+ it "Se debe sumar matriz DENSA con DISPERSA con racionales" do
232
+ (@matrizA_P_DEN / @matrizB_R_DIS).to_s.should == MatrizDensa.new([[3,4], [5,Racional.new(13,2)]]).to_s
233
+ end
218
234
 
235
+ end
236
+
237
+ end
@@ -0,0 +1,231 @@
1
+ require 'spec_helper'
2
+ require 'modai_prct10'
3
+ include ModaiPrct10
4
+
5
+ describe ModaiPrct10 do
6
+
7
+ before :each do
8
+
9
+ # Matrices DENSAS
10
+ matA = [[1,2],[3,4]]
11
+ matB = [[221,2],[3,4]]
12
+
13
+ matA_R = [[Racional.new(1,1),Racional.new(4,2)],[Racional.new(9,3),Racional.new(16,4)]]
14
+ matB_R = [[Racional.new(442,2),Racional.new(4,2)],[Racional.new(9,3),Racional.new(16,4)]]
15
+
16
+ @matrizA = MatrizDensa.new(matA)
17
+ @matrizB = MatrizDensa.new(matB)
18
+
19
+ @matrizA_R = MatrizDensa.new(matA_R)
20
+ @matrizB_R = MatrizDensa.new(matB_R)
21
+
22
+ # Matrices DISPERSAS
23
+ matC = [nil, {1 => 4}] # [[0,0],[0,4]]
24
+ matD = [{0 => 5}, nil] # [[5,0],[0,0]]
25
+
26
+ matC_R = [nil, {1 => Racional.new(4,1)}] # [[Racional.new(0,1),Racional.new(0,1)],[Racional.new(0,1),Racional.new(4,1)]]
27
+ matD_R = [{0 => Racional.new(5,1)}, nil] # [[Racional.new(5,1),Racional.new(0,1)],[Racional.new(0,1),Racional.new(0,1)]]
28
+
29
+ @matrizC = MatrizDispersa.new(matC)
30
+ @matrizC = MatrizDispersa.new(matD)
31
+
32
+ @matrizC_R = MatrizDispersa.new(matC_R)
33
+ @matrizC_R = MatrizDispersa.new(matD_R)
34
+
35
+ # Matrices creadas en horas de practicas
36
+ matA_P_DEN = [[3.4],[5.6]]
37
+ matB_P_DIS = [nil,{1 => 1}] #[nil,{1 => Racional.new(1,2)}]
38
+
39
+ @matrizA_P_DEN = MatrizDensa.new(matA_P_DEN)
40
+ @matrizB_P_DIS = MatrizDispersa.new(matB_P_DIS)
41
+
42
+ end
43
+
44
+ context 'comprobar los accessors (DENSA)' do
45
+
46
+ it "Se debe invocar al metodo matriz() para obtener la matriz (DENSA)" do
47
+ @matrizA.respond_to?("matriz").should == true
48
+ end
49
+
50
+ it "Se debe invocar al metodo filas() para obtener el numero de filas (DENSA)" do
51
+ @matrizA.respond_to?("filas").should == true
52
+ end
53
+
54
+ it "Se debe invocar al metodo columnas() para obtener el numero de columnas (DENSA)" do
55
+ @matrizA.respond_to?("columnas").should == true
56
+ end
57
+
58
+ it "Se debe invocar al metodo matriz() para obtener la matriz de racionales (DENSA)" do
59
+ @matrizA_R.respond_to?("matriz").should == true
60
+ end
61
+
62
+ it "Se debe invocar al metodo filas() para obtener el numero de filas de matriz de racionales (DENSA)" do
63
+ @matrizA_R.respond_to?("filas").should == true
64
+ end
65
+
66
+ it "Se debe invocar al metodo columnas() para obtener el numero de columnas de matriz de racionales (DENSA)" do
67
+ @matrizA_R.respond_to?("columnas").should == true
68
+ end
69
+
70
+ end
71
+
72
+ context 'Comprobar metodos de conversion (DENSA)' do
73
+
74
+ it "Se debe mostrar la matriz (DENSA)" do
75
+ @matrizA.to_s.should == MatrizDensa.new([[1,2],[3,4]]).to_s
76
+ end
77
+
78
+ it "Se debe convertir a punto flotantes (DENSA)" do
79
+ @matrizA.to_f.to_s.should == MatrizDensa.new([[1.0,2.0],[3.0,4.0]]).to_s
80
+ end
81
+
82
+ it "Se debe mostrar la matriz de racionales (DENSA)" do
83
+ @matrizA_R.to_s.should == MatrizDensa.new([[Racional.new(1,1),Racional.new(4,2)],[Racional.new(9,3),Racional.new(16,4)]]).to_s
84
+ end
85
+
86
+ end
87
+
88
+ context 'Comprobar las operaciones entre matrices (DENSA)' do
89
+
90
+ it "Se debe poder sumar dos matrices (DENSA)" do
91
+ (@matrizA + @matrizB).to_s.should == MatrizDensa.new([[222,4], [6,8]]).to_s
92
+ end
93
+
94
+ it "Se debe poder restar dos matrices (DENSA)" do
95
+ (@matrizA - @matrizB).to_s.should == MatrizDensa.new([[-220,0], [0,0]]).to_s
96
+ end
97
+
98
+ it "Se debe poder multiplicar dos matrices (DENSA)" do
99
+ (@matrizA * @matrizB).to_s.should == MatrizDensa.new([[227,10], [675,22]]).to_s
100
+ end
101
+
102
+ it "Se debe poder sumar dos matrices de racionales (DENSA)" do
103
+ (@matrizA_R + @matrizB_R).to_s.should == MatrizDensa.new([[Racional.new(222,1),Racional.new(4,1)],[Racional.new(6,1),Racional.new(8,1)]]).to_s
104
+ end
105
+
106
+ it "Se debe poder restar dos matrices de racionales (DENSA)" do
107
+ (@matrizA_R - @matrizB_R).to_s.should == MatrizDensa.new([[Racional.new(-220,1),Racional.new(0,1)],[Racional.new(0,1),Racional.new(0,1)]]).to_s
108
+ end
109
+
110
+ end
111
+
112
+ context 'Comprobar las operaciones de la propia matriz (DENSA)' do
113
+
114
+ it "Se debe mostrar el max de la matriz (DENSA)" do
115
+ @matrizA.max == 4.0
116
+ end
117
+
118
+ it "Se debe mostrar el min de la matriz (DENSA)" do
119
+ @matrizA.min == 1.0
120
+ end
121
+
122
+ it "Se debe mostrar el max de la matriz de racionales (DENSA)" do
123
+ @matrizA_R.max == Racional.new(1,1)
124
+ end
125
+
126
+ it "Se debe mostrar el min de la matriz de racionales (DENSA)" do
127
+ @matrizA_R.min == Racional.new(16,4)
128
+ end
129
+
130
+ end
131
+
132
+ context 'comprobar los accessors (DISPERSA)' do
133
+
134
+ it "Se debe invocar al metodo matriz() para obtener la matriz (DISPERSA)" do
135
+ @matrizC.respond_to?("matriz").should == true
136
+ end
137
+
138
+ it "Se debe invocar al metodo filas() para obtener el numero de filas (DISPERSA)" do
139
+ @matrizC.respond_to?("filas").should == true
140
+ end
141
+
142
+ it "Se debe invocar al metodo columnas() para obtener el numero de columnas (DISPERSA)" do
143
+ @matrizC.respond_to?("columnas").should == true
144
+ end
145
+
146
+ it "Se debe invocar al metodo matriz() para obtener la matriz de racionales (DISPERSA)" do
147
+ @matrizC_R.respond_to?("matriz").should == true
148
+ end
149
+
150
+ it "Se debe invocar al metodo filas() para obtener el numero de filas de matriz de racionales (DISPERSA)" do
151
+ @matrizC_R.respond_to?("filas").should == true
152
+ end
153
+
154
+ it "Se debe invocar al metodo columnas() para obtener el numero de columnas de matriz de racionales (DISPERSA)" do
155
+ @matrizC_R.respond_to?("columnas").should == true
156
+ end
157
+
158
+ end
159
+
160
+ context 'Comprobar metodos de conversion (DISPERSA)' do
161
+
162
+ it "Se debe mostrar la matriz (DISPERSA)" do
163
+ @matrizC.to_s.should == MatrizDispersa.new([nil, {1 => 4}]).to_s
164
+ end
165
+
166
+ it "Se debe convertir a punto flotantes (DISPERSA)" do
167
+ @matrizC.to_f.to_s.should == MatrizDispersa.new([nil, {1 => 4.0}]).to_s
168
+ end
169
+
170
+ it "Se debe mostrar la matriz de racionales (DISPERSA)" do
171
+ @matrizC_R.to_s.should == MatrizDispersa.new([nil, {1 => Racional.new(4,1)}]).to_s
172
+ end
173
+
174
+ end
175
+
176
+ context 'Comprobar las operaciones entre matrices (DISPERSA)' do
177
+
178
+
179
+ it "Se debe poder sumar dos matrices (DISPERSA)" do
180
+ (@matrizC + @matrizC).to_s.should == MatrizDispersa.new([{0 => 5}, {1 => 4}]).to_s
181
+ end
182
+
183
+ it "Se debe poder restar dos matrices (DISPERSA)" do
184
+ (@matrizC - @matrizC).to_s.should == MatrizDispersa.new([{0 => -5}, {1 => 4}]).to_s
185
+ end
186
+
187
+ =begin
188
+ it "Se debe poder multiplicar dos matrices (DISPERSA)" do
189
+ (@matrizC * @matrizC).to_s.should == MatrizDispersa.new([[227,10], [675,22]]).to_s
190
+ end
191
+
192
+ =end
193
+ it "Se debe poder sumar dos matrices de racionales (DISPERSA)" do
194
+ (@matrizC_R + @matrizC_R).to_s.should == MatrizDispersa.new([{0 => Racional.new(5,1)}, {1 => Racional.new(4,1)}]).to_s
195
+ end
196
+
197
+ it "Se debe poder restar dos matrices de racionales (DISPERSA)" do
198
+ (@matrizC_R - @matrizC_R).to_s.should == MatrizDispersa.new([{0 => Racional.new(-5,1)}, {1 => Racional.new(4,1)}]).to_s
199
+ end
200
+
201
+ end
202
+
203
+ context 'Comprobar las operaciones de la propia matriz (DISPERSA)' do
204
+
205
+ it "Se debe mostrar el max de la matriz (DISPERSA)" do
206
+ @matrizC.max == 4
207
+ end
208
+
209
+ it "Se debe mostrar el min de la matriz (DISPERSA)" do
210
+ @matrizC.min == 0
211
+ end
212
+
213
+ it "Se debe mostrar el max de la matriz de racionales (DISPERSA)" do
214
+ @matrizC_R.max == Racional.new(4,1)
215
+ end
216
+
217
+ it "Se debe mostrar el min de la matriz de racionales (DISPERSA)" do
218
+ @matrizC_R.min == Racional.new(0,1)
219
+ end
220
+
221
+ end
222
+
223
+ context 'Comprobar modificacion en la hora de practica' do
224
+
225
+ it "Se debe sumar matriz DENSA con DISPERSA" do
226
+ (@matrizA_P_DEN + @matrizB_P_DIS).to_s.should == MatrizDensa.new([[3,4], [5,7]]).to_s
227
+ end
228
+ end
229
+
230
+
231
+ end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: modai_prct10
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.1
4
+ version: 0.0.2
5
5
  platform: ruby
6
6
  authors:
7
7
  - Dailos Herrera Bencomo y Mohammed Mahrach
@@ -58,6 +58,7 @@ files:
58
58
  - lib/racional.rb
59
59
  - modai_prct10.gemspec
60
60
  - spec/modai_prct10_spec.rb
61
+ - spec/modai_prct10_spec.rb~
61
62
  - spec/spec_helper.rb
62
63
  homepage: ''
63
64
  licenses:
@@ -85,5 +86,6 @@ specification_version: 4
85
86
  summary: modai_prct10 ipsum generator
86
87
  test_files:
87
88
  - spec/modai_prct10_spec.rb
89
+ - spec/modai_prct10_spec.rb~
88
90
  - spec/spec_helper.rb
89
91
  has_rdoc: