nera 0.0.1

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 (38) hide show
  1. data/History.txt +4 -0
  2. data/Manifest.txt +37 -0
  3. data/README.rdoc +47 -0
  4. data/Rakefile +27 -0
  5. data/bin/nera +29 -0
  6. data/bin/nera_addsim +30 -0
  7. data/lib/nera/nera_cui.rb +417 -0
  8. data/lib/nera/nera_database.rb +281 -0
  9. data/lib/nera/nera_db_folders.rb +226 -0
  10. data/lib/nera/nera_dialog.rb +205 -0
  11. data/lib/nera/nera_job_layer_controller.rb +237 -0
  12. data/lib/nera/nera_job_records.rb +111 -0
  13. data/lib/nera/nera_job_script.rb +202 -0
  14. data/lib/nera/nera_parameter_layer_controller.rb +157 -0
  15. data/lib/nera/nera_parameter_records.rb +186 -0
  16. data/lib/nera/nera_run_layer_controller.rb +192 -0
  17. data/lib/nera/nera_run_records.rb +184 -0
  18. data/lib/nera/nera_simulator.rb +26 -0
  19. data/lib/nera/nera_simulator_layer_controller.rb +66 -0
  20. data/lib/nera/nera_simulator_records.rb +84 -0
  21. data/lib/nera.rb +25 -0
  22. data/lib/nera_addsim/make_simulator.rb +307 -0
  23. data/scripts/make_manifest.rb +21 -0
  24. data/test/runner.rb +3 -0
  25. data/test/test_helper.rb +52 -0
  26. data/test/test_nera_database.rb +221 -0
  27. data/test/test_nera_db_folders.rb +209 -0
  28. data/test/test_nera_dialog.rb +134 -0
  29. data/test/test_nera_job_layer_controller.rb +132 -0
  30. data/test/test_nera_job_records.rb +260 -0
  31. data/test/test_nera_parameter_layer_controller.rb +188 -0
  32. data/test/test_nera_parameter_records.rb +285 -0
  33. data/test/test_nera_run_layer_controller.rb +171 -0
  34. data/test/test_nera_run_records.rb +290 -0
  35. data/test/test_nera_simulator.rb +26 -0
  36. data/test/test_nera_simulator_layer_controller.rb +54 -0
  37. data/test/test_nera_simulator_records.rb +140 -0
  38. metadata +125 -0
@@ -0,0 +1,290 @@
1
+ require File.dirname(__FILE__) + '/test_helper'
2
+
3
+
4
+ class TC_NERA_RUN_RECORDS < Test::Unit::TestCase
5
+
6
+ def setup
7
+ @testdir = 'test_run_recs'
8
+ FileUtils.mkdir( @testdir)
9
+ FileUtils.chdir( @testdir)
10
+ @table_file = 'run_recs.pstore'
11
+ NERA::RunRecords.create_table( @table_file)
12
+ @rrecs = NERA::RunRecords.new( @table_file)
13
+ end
14
+
15
+ def teardown
16
+ FileUtils.chdir('..')
17
+ FileUtils.rm_r( @testdir)
18
+ end
19
+
20
+ def test_initialize
21
+ assert_raise( RuntimeError) {
22
+ NERA::RunRecords.new( 'unknown')
23
+ }
24
+ end
25
+
26
+ def test_create_a_new_table
27
+ n = NERA::RunRecords.create_table( @table_file)
28
+ assert_nil(n)
29
+
30
+ n = NERA::RunRecords.create_table('hoge')
31
+ assert( File.exist?('hoge') )
32
+ assert_equal( true, n)
33
+ end
34
+
35
+ def test_keys
36
+ a = [ [:id, Integer], [:state, Symbol], [:created_at, DateTime],
37
+ [:job_id, Integer], [:seed, Integer],
38
+ [:start_at, DateTime], [:finish_at, DateTime],
39
+ [:included_at, DateTime], [:real_time, Float],
40
+ [:user_time, Float], [:host_name, String],
41
+ [:omp_threads, Integer], [:mpi_processes, Integer]
42
+ ]
43
+ k = a.map do |x| x[0] end
44
+ assert_equal( k, @rrecs.keys)
45
+ end
46
+
47
+ def test_add
48
+ r = @rrecs.add( 1)
49
+ l = @rrecs.list_all
50
+ lf = @rrecs.list_all_finished
51
+ ln = @rrecs.list_all_not_finished
52
+ assert_equal( 1, r.size)
53
+ assert_equal( r[0][:id], 1)
54
+ assert( r[0][:seed] > 0 )
55
+ assert_equal( r[0][:omp_threads], 1)
56
+ assert_equal( r[0][:mpi_processes], 1)
57
+ assert_equal( 1, l.size)
58
+ assert_equal( 0, lf.size)
59
+ assert_equal( 1, ln.size)
60
+
61
+ r = @rrecs.add( 99)
62
+ a = @rrecs.list_all
63
+ assert_equal( 99, r.size)
64
+ assert_equal( 100, a.size)
65
+
66
+ r = @rrecs.add( 20)
67
+ a = @rrecs.list_all
68
+ assert_equal( 20, r.size)
69
+ assert_equal( 120, a.size)
70
+ f = a.find do |r| r[:id] == 120 end
71
+ assert( f)
72
+ end
73
+
74
+ def test_set_job_id
75
+ r = @rrecs.add( 10)
76
+ id = r[0][:id]
77
+ jid = @rrecs.set_job_id( id, 10, 1)
78
+ assert_equal( 1, jid)
79
+ r = @rrecs.add( 10)
80
+ id = r[0][:id]
81
+ assert_raise( RuntimeError) {
82
+ @rrecs.set_job_id( id, 11, 1)
83
+ }
84
+ assert_raise( RuntimeError) {
85
+ @rrecs.set_job_id( 21, 1, 1)
86
+ }
87
+ assert_raise( ArgumentError) {
88
+ @rrecs.set_job_id( 11, 1, "1")
89
+ }
90
+ assert_raise( ArgumentError) {
91
+ @rrecs.set_job_id( "11", 1, 1)
92
+ }
93
+ assert_raise( ArgumentError) {
94
+ @rrecs.set_job_id( 11, "1", 1)
95
+ }
96
+ jid = @rrecs.set_job_id(11,10,2)
97
+ assert_raise( RuntimeError) {
98
+ @rrecs.set_job_id(11,10,2)
99
+ }
100
+
101
+ l = @rrecs.list_all
102
+ l.find_all do |x|
103
+ x[:job_id] == 1
104
+ end
105
+ assert_equal( 20, l.size)
106
+ k = l.find_all do |x|
107
+ x[:job_id] == 2
108
+ end
109
+ assert_equal( 10, k.size)
110
+ end
111
+
112
+ def test_list
113
+ l = @rrecs.list_all
114
+ lf = @rrecs.list_all_finished
115
+ ln = @rrecs.list_all_not_finished
116
+ assert( l.is_a?(Array))
117
+ assert( lf.is_a?(Array))
118
+ assert( ln.is_a?(Array))
119
+ assert_equal( 0, l.size)
120
+ assert_equal( 0, lf.size)
121
+ assert_equal( 0, ln.size)
122
+
123
+ @rrecs.add( 5)
124
+ l = @rrecs.list_all
125
+ lf = @rrecs.list_all_finished
126
+ ln = @rrecs.list_all_not_finished
127
+ assert_equal( 5, l.size)
128
+ assert_equal( 0, lf.size)
129
+ assert_equal( 5, ln.size)
130
+ 5.times do |i|
131
+ assert( l[i].is_a?(Hash) )
132
+ assert_equal( 0, (l[i].keys - @rrecs.keys).size)
133
+ assert_equal( 0, (ln[i].keys - @rrecs.keys).size)
134
+ end
135
+
136
+ @rrecs.update_state_to_finished( 1, DateTime.now, DateTime.now, DateTime.now, 0.5, 0.5, "host_hoge")
137
+ @rrecs.update_state_to_finished( 2, DateTime.now, DateTime.now, DateTime.now, 0.5, 0.5, "host_hoge")
138
+ l2 = @rrecs.list_all
139
+ lf = @rrecs.list_all_finished
140
+ ln = @rrecs.list_all_not_finished
141
+ assert_equal( 5, l2.size)
142
+ assert_equal( 2, lf.size)
143
+ assert_equal( 3, ln.size)
144
+ found1 = l.find do |r| r[:id] == 3 end
145
+ found2 = l2.find do |r| r[:id] == 3 end
146
+ assert_equal( found1, found2)
147
+ found1 = l.find do |r| r[:id] == 4 end
148
+ found2 = l2.find do |r| r[:id] == 4 end
149
+ assert_equal( found1, found2)
150
+ found1 = l.find do |r| r[:id] == 5 end
151
+ found2 = l2.find do |r| r[:id] == 5 end
152
+ assert_equal( found1, found2)
153
+
154
+ 2.times do |i|
155
+ assert( lf[i].is_a?(Hash) )
156
+ assert_equal( 0, (lf[i].keys - @rrecs.keys).size)
157
+ end
158
+
159
+ found = lf.find do |rec|
160
+ rec[:id] == 3
161
+ end
162
+ assert_nil( found)
163
+ found = lf.find do |rec|
164
+ rec[:id] == 2
165
+ end
166
+ assert(found)
167
+
168
+ d = @rrecs.destroy( 4)
169
+ assert( d)
170
+ l = @rrecs.list_all
171
+ lf = @rrecs.list_all_finished
172
+ ln = @rrecs.list_all_not_finished
173
+ assert_equal( 4, l.size)
174
+ assert_equal( 2, lf.size)
175
+ assert_equal( 2, ln.size)
176
+ end
177
+
178
+ def test_update_state_to_finished
179
+ r = @rrecs.add( 10)
180
+ id = r[0][:id]
181
+ jid = @rrecs.set_job_id( id, 10, 1)
182
+ l = @rrecs.list_all_not_finished
183
+ assert( 10, l.size)
184
+
185
+ d = DateTime.now
186
+ @rrecs.update_state_to_finished( 1, d, d, d, 0.5, 0.5, "acp1")
187
+ l = @rrecs.list_all_not_finished
188
+ assert( 9, l.size)
189
+ lf = @rrecs.list_all_finished
190
+ assert( 1, lf.size)
191
+ p lf[0]
192
+ assert_equal( 1, lf[0][:id])
193
+ assert_equal( d, lf[0][:start_at])
194
+ assert_equal( d, lf[0][:finish_at])
195
+ assert_equal( d, lf[0][:included_at])
196
+ assert_equal( 0.5, lf[0][:real_time])
197
+ assert_equal( 0.5, lf[0][:user_time])
198
+ assert_equal( "acp1", lf[0][:host_name])
199
+ assert_equal( :finished, lf[0][:state])
200
+ n = @rrecs.update_state_to_finished( 1, d, d, d, 0.5, 0.5, "acp1")
201
+ assert_nil( n)
202
+
203
+ assert_raise( ArgumentError) {
204
+ @rrecs.update_state_to_finished( "1", DateTime.now, DateTime.now, DateTime.now, 0.5, 0.5, "acp1")
205
+ }
206
+ assert_raise( ArgumentError) {
207
+ @rrecs.update_state_to_finished( 1, "08-25-12", DateTime.now, DateTime.now, 0.5, 0.5, "acp1")
208
+ }
209
+ assert_raise( ArgumentError) {
210
+ @rrecs.update_state_to_finished( 1, DateTime.now, "08-25-12", DateTime.now, 0.5, 0.5, "acp1")
211
+ }
212
+ assert_raise( ArgumentError) {
213
+ @rrecs.update_state_to_finished( 1, DateTime.now, DateTime.now, "08-25-12", 0.5, 0.5, "acp1")
214
+ }
215
+ assert_raise( ArgumentError) {
216
+ @rrecs.update_state_to_finished( 1, DateTime.now, DateTime.now, DateTime.now, 5, 0.5, "acp1")
217
+ }
218
+ assert_raise( ArgumentError) {
219
+ @rrecs.update_state_to_finished( 1, DateTime.now, DateTime.now, DateTime.now, 0.5, 5, "acp1")
220
+ }
221
+ assert_raise( ArgumentError) {
222
+ @rrecs.update_state_to_finished( 1, DateTime.now, DateTime.now, DateTime.now, 0.5, 0.5, 13)
223
+ }
224
+
225
+ n = @rrecs.update_state_to_finished( 11, d, d, d, 0.5, 0.5, "acp1")
226
+ assert_nil( n)
227
+ end
228
+
229
+ def test_destroy
230
+ r = @rrecs.add( 10)
231
+ id = r[0][:id]
232
+ jid = @rrecs.set_job_id( id, 10, 1)
233
+
234
+ rec = @rrecs.destroy( 1)
235
+ assert( rec.is_a?(Hash))
236
+ assert_equal(1, rec[:id])
237
+ assert_equal(:not_finished, rec[:state])
238
+ assert_equal(jid, rec[:job_id])
239
+ rec = @rrecs.destroy( 1)
240
+ assert_nil(nil)
241
+ assert_equal( 9, @rrecs.list_all.size)
242
+
243
+ d = DateTime.now
244
+ @rrecs.update_state_to_finished( 2, d, d, d, 0.5, 0.5, "acp1")
245
+ rec = @rrecs.destroy( 2)
246
+ assert_nil(rec)
247
+ assert_equal(9, @rrecs.list_all.size)
248
+ end
249
+
250
+ def test_destroy_job_id
251
+ r = @rrecs.add(2)
252
+ id = r[0][:id]
253
+ jid = @rrecs.set_job_id( id, 2, 1)
254
+
255
+ f = @rrecs.destroy_job_id(1)
256
+ assert(f)
257
+ assert_equal( 0, @rrecs.list_all.size)
258
+ f = @rrecs.destroy_job_id(1)
259
+ assert_nil(f)
260
+
261
+ r = @rrecs.add(1)
262
+ id = r[0][:id]
263
+ jid = @rrecs.set_job_id( id, 1, 2)
264
+ d = DateTime.now
265
+ @rrecs.update_state_to_finished( 3, d, d, d, 0.5, 0.5, "acp1")
266
+ f = @rrecs.destroy_job_id(2)
267
+ assert_nil(f)
268
+ end
269
+
270
+ def test_transaction
271
+ r = @rrecs.add( 10)
272
+ id = r[0][:id]
273
+ jid = @rrecs.set_job_id( id, 10, 1)
274
+ l = @rrecs.list_all_not_finished
275
+ assert( 10, l.size)
276
+
277
+ assert_raise(RuntimeError) {
278
+ @rrecs.transaction {
279
+ d = DateTime.now
280
+ @rrecs.update_state_to_finished(1,d,d,d,0.5,0.5,"hoge")
281
+ assert( 9, @rrecs.list_all_not_finished)
282
+ raise
283
+ }
284
+ }
285
+ l2 = @rrecs.list_all_not_finished
286
+ assert_equal( l, l2)
287
+ assert_equal( 10, l2.size)
288
+ end
289
+
290
+ end
@@ -0,0 +1,26 @@
1
+ require File.dirname(__FILE__) + '/test_helper'
2
+
3
+
4
+ class TC_NERA_SIMULATOR < Test::Unit::TestCase
5
+
6
+ def setup
7
+ end
8
+
9
+ def teardown
10
+ end
11
+
12
+ def test_inherited_simulators
13
+ sim = NERA::Simulator.inherited_simulators
14
+ p sim
15
+ assert( sim.is_a?(Array) )
16
+ assert_equal( 3, sim.size)
17
+ a = sim.find do |x|
18
+ x == Ising
19
+ end
20
+ assert(a)
21
+ a = sim.find do |x|
22
+ x == Heisenberg
23
+ end
24
+ assert(a)
25
+ end
26
+ end
@@ -0,0 +1,54 @@
1
+ require File.dirname(__FILE__) + '/test_helper'
2
+
3
+
4
+ class TC_NERA_SIM_LAYER_CONTROLLER < Test::Unit::TestCase
5
+
6
+ def setup
7
+ @testdir = 'test_sim_controller'
8
+ FileUtils.mkdir(@testdir)
9
+ FileUtils.chdir(@testdir)
10
+ @db_folder = "nera_db"
11
+ NERA::DbFolders.create_db( @db_folder)
12
+ @dbf = NERA::DbFolders.new( @db_folder)
13
+ @slc = NERA::SimulatorLayerController.new( @db_folder)
14
+ end
15
+
16
+ def teardown
17
+ FileUtils.chdir('..')
18
+ FileUtils.rm_r(@testdir)
19
+ end
20
+
21
+ def test_constructor
22
+ assert_raise( ArgumentError) {
23
+ NERA::SimulatorLayerController.new( @dbf)
24
+ }
25
+ assert_raise( RuntimeError) {
26
+ NERA::SimulatorLayerController.new( "hoge")
27
+ }
28
+
29
+ assert( File.exist?( @dbf.path_to_simulators_table) )
30
+ end
31
+
32
+ def test_list
33
+ assert( @slc.list.is_a?(Array) )
34
+ assert_equal( 2, @slc.list.size)
35
+
36
+ found = @slc.list.find do |rec| rec[:name] == Ising.to_s end
37
+ assert( found)
38
+ assert( found[:id] > 0)
39
+ assert( found[:id] <= 2 )
40
+ assert( found[:created_at].is_a?(DateTime) )
41
+ assert( found[:updated_at].is_a?(DateTime) )
42
+
43
+ found = @slc.list.find do |rec| rec[:name] == Temp.to_s end
44
+ assert_nil( found)
45
+
46
+ end
47
+
48
+ def test_path_to_sim_layer
49
+ p = @slc.path_to_sim_layer
50
+ assert_equal( @db_folder+'/', p)
51
+ end
52
+
53
+
54
+ end
@@ -0,0 +1,140 @@
1
+ require File.dirname(__FILE__) + '/test_helper'
2
+
3
+
4
+ class TC_NERA_SIM_RECS < Test::Unit::TestCase
5
+
6
+ def setup
7
+ @testdir = 'test_sim_recs'
8
+ FileUtils.mkdir(@testdir)
9
+ FileUtils.chdir(@testdir)
10
+ @path_to_db = 'sim_recs_table.marshal'
11
+ NERA::SimulatorRecords.create_table( @path_to_db)
12
+ @db = NERA::SimulatorRecords.new( @path_to_db)
13
+ end
14
+
15
+ def teardown
16
+ FileUtils.chdir('..')
17
+ FileUtils.rm_r(@testdir)
18
+ end
19
+
20
+ def test_constructor
21
+ assert_raise( RuntimeError) {
22
+ NERA::SimulatorRecords.new('unknown_file')
23
+ }
24
+ end
25
+
26
+ def test_create_table
27
+ f = NERA::SimulatorRecords.create_table( @path_to_db)
28
+ assert_equal( nil, f)
29
+ end
30
+
31
+ def test_keys
32
+ assert_equal( [:id,:name,:created_at,:updated_at], @db.keys)
33
+ end
34
+
35
+ def test_add
36
+ assert_raise( ArgumentError) {
37
+ @db.add( Temp)
38
+ }
39
+
40
+ given_id = @db.add( Ising )
41
+ l = @db.list
42
+ assert_equal(1, given_id)
43
+ assert_equal( 1, l[0][:id])
44
+ assert_equal( "Ising", l[0][:name])
45
+ assert_equal( l[0][:updated_at], l[0][:created_at])
46
+
47
+ sleep 2
48
+ given_id = @db.add( XY )
49
+ l = @db.list
50
+ assert_equal(2, given_id)
51
+ assert_equal( 2, l[1][:id])
52
+ assert_equal( "XY", l[1][:name])
53
+ assert_equal( l[1][:updated_at], l[1][:created_at])
54
+
55
+ assert( l[0][:updated_at] < l[1][:updated_at])
56
+
57
+ flag = @db.add( XY )
58
+ assert_equal( nil, flag)
59
+ end
60
+
61
+ def add_three
62
+ @db.add( Ising )
63
+ @db.add( XY )
64
+ @db.add( Heisenberg )
65
+ end
66
+
67
+ def test_get_class
68
+ add_three
69
+ klass = @db.get_class(1)
70
+ assert_equal( Ising, klass)
71
+ klass = @db.get_class(3)
72
+ assert_equal( Heisenberg, klass)
73
+
74
+ klass = @db.get_class(5)
75
+ assert_nil(klass)
76
+
77
+ assert_raise( ArgumentError) {
78
+ @db.get_class('2')
79
+ }
80
+ end
81
+
82
+ def test_list
83
+ # ------
84
+ l = @db.list
85
+ assert( l.is_a?(Array) )
86
+ assert( l.size == 0 )
87
+
88
+ # ------
89
+ add_three
90
+ l = @db.list
91
+ assert_equal( 3, l.size)
92
+ l2 = l.dup
93
+ l2.sort! do |a,b|
94
+ a[:id] <=> b[:id]
95
+ end
96
+ assert_equal( l, l2)
97
+ end
98
+
99
+ def test_touch
100
+ add_three
101
+ sleep 3
102
+ flag = @db.touch( 3)
103
+ assert_equal(true, flag)
104
+ r3 = @db.list[2]
105
+ assert( r3[:created_at] < r3[:updated_at])
106
+ r2 = @db.list[1]
107
+ assert( r2[:created_at] == r2[:updated_at])
108
+
109
+ # ------
110
+ flag = @db.touch( 500)
111
+ assert_nil( flag)
112
+ end
113
+
114
+ def test_destroy
115
+ add_three
116
+ r3 = @db.list[2]
117
+ flag = @db.destroy(3)
118
+ assert_equal(r3, flag)
119
+
120
+ l = @db.list
121
+ assert_equal( 2, l.size)
122
+ assert_nil( l.find do |r| r[:id]==3 end )
123
+
124
+ flag = @db.destroy(500)
125
+ assert_nil(flag)
126
+ end
127
+
128
+ def test_transaction
129
+ add_three
130
+ assert_raise(RuntimeError) {
131
+ @db.transaction {
132
+ @db.destroy(2)
133
+ raise
134
+ }
135
+ }
136
+ l = @db.list
137
+ assert_equal( 3, l.size)
138
+ end
139
+
140
+ end
metadata ADDED
@@ -0,0 +1,125 @@
1
+ --- !ruby/object:Gem::Specification
2
+ name: nera
3
+ version: !ruby/object:Gem::Version
4
+ version: 0.0.1
5
+ platform: ruby
6
+ authors:
7
+ - Yohsuke Murase
8
+ autorequire:
9
+ bindir: bin
10
+ cert_chain: []
11
+
12
+ date: 2009-03-26 00:00:00 +09:00
13
+ default_executable:
14
+ dependencies:
15
+ - !ruby/object:Gem::Dependency
16
+ name: newgem
17
+ type: :development
18
+ version_requirement:
19
+ version_requirements: !ruby/object:Gem::Requirement
20
+ requirements:
21
+ - - ">="
22
+ - !ruby/object:Gem::Version
23
+ version: 1.3.0
24
+ version:
25
+ - !ruby/object:Gem::Dependency
26
+ name: hoe
27
+ type: :development
28
+ version_requirement:
29
+ version_requirements: !ruby/object:Gem::Requirement
30
+ requirements:
31
+ - - ">="
32
+ - !ruby/object:Gem::Version
33
+ version: 1.8.0
34
+ version:
35
+ description: This is an application which helps you to manage a database for the Monte Carlo simulations. For the dtailed usage, see http://nera.rubyforge.com
36
+ email:
37
+ - murase@serow.t.u-tokyo.ac.jp
38
+ executables:
39
+ - nera
40
+ - nera_addsim
41
+ extensions: []
42
+
43
+ extra_rdoc_files:
44
+ - History.txt
45
+ - Manifest.txt
46
+ - README.rdoc
47
+ files:
48
+ - History.txt
49
+ - Manifest.txt
50
+ - README.rdoc
51
+ - Rakefile
52
+ - bin/nera
53
+ - bin/nera_addsim
54
+ - lib/nera.rb
55
+ - lib/nera/nera_cui.rb
56
+ - lib/nera/nera_database.rb
57
+ - lib/nera/nera_db_folders.rb
58
+ - lib/nera/nera_dialog.rb
59
+ - lib/nera/nera_job_layer_controller.rb
60
+ - lib/nera/nera_job_records.rb
61
+ - lib/nera/nera_job_script.rb
62
+ - lib/nera/nera_parameter_layer_controller.rb
63
+ - lib/nera/nera_parameter_records.rb
64
+ - lib/nera/nera_run_layer_controller.rb
65
+ - lib/nera/nera_run_records.rb
66
+ - lib/nera/nera_simulator.rb
67
+ - lib/nera/nera_simulator_layer_controller.rb
68
+ - lib/nera/nera_simulator_records.rb
69
+ - lib/nera_addsim/make_simulator.rb
70
+ - scripts/make_manifest.rb
71
+ - test/runner.rb
72
+ - test/test_helper.rb
73
+ - test/test_nera_database.rb
74
+ - test/test_nera_db_folders.rb
75
+ - test/test_nera_dialog.rb
76
+ - test/test_nera_job_layer_controller.rb
77
+ - test/test_nera_job_records.rb
78
+ - test/test_nera_parameter_layer_controller.rb
79
+ - test/test_nera_parameter_records.rb
80
+ - test/test_nera_run_layer_controller.rb
81
+ - test/test_nera_run_records.rb
82
+ - test/test_nera_simulator.rb
83
+ - test/test_nera_simulator_layer_controller.rb
84
+ - test/test_nera_simulator_records.rb
85
+ has_rdoc: true
86
+ homepage: http://nera.rubyforge.com
87
+ post_install_message:
88
+ rdoc_options:
89
+ - --main
90
+ - README.rdoc
91
+ require_paths:
92
+ - lib
93
+ required_ruby_version: !ruby/object:Gem::Requirement
94
+ requirements:
95
+ - - ">="
96
+ - !ruby/object:Gem::Version
97
+ version: "0"
98
+ version:
99
+ required_rubygems_version: !ruby/object:Gem::Requirement
100
+ requirements:
101
+ - - ">="
102
+ - !ruby/object:Gem::Version
103
+ version: "0"
104
+ version:
105
+ requirements: []
106
+
107
+ rubyforge_project: nera
108
+ rubygems_version: 1.2.0
109
+ signing_key:
110
+ specification_version: 2
111
+ summary: This is an application which helps you to manage a database for the Monte Carlo simulations
112
+ test_files:
113
+ - test/test_helper.rb
114
+ - test/test_nera_database.rb
115
+ - test/test_nera_db_folders.rb
116
+ - test/test_nera_dialog.rb
117
+ - test/test_nera_job_layer_controller.rb
118
+ - test/test_nera_job_records.rb
119
+ - test/test_nera_parameter_layer_controller.rb
120
+ - test/test_nera_parameter_records.rb
121
+ - test/test_nera_run_layer_controller.rb
122
+ - test/test_nera_run_records.rb
123
+ - test/test_nera_simulator.rb
124
+ - test/test_nera_simulator_layer_controller.rb
125
+ - test/test_nera_simulator_records.rb