nera 0.0.1
Sign up to get free protection for your applications and to get access to all the features.
- data/History.txt +4 -0
- data/Manifest.txt +37 -0
- data/README.rdoc +47 -0
- data/Rakefile +27 -0
- data/bin/nera +29 -0
- data/bin/nera_addsim +30 -0
- data/lib/nera/nera_cui.rb +417 -0
- data/lib/nera/nera_database.rb +281 -0
- data/lib/nera/nera_db_folders.rb +226 -0
- data/lib/nera/nera_dialog.rb +205 -0
- data/lib/nera/nera_job_layer_controller.rb +237 -0
- data/lib/nera/nera_job_records.rb +111 -0
- data/lib/nera/nera_job_script.rb +202 -0
- data/lib/nera/nera_parameter_layer_controller.rb +157 -0
- data/lib/nera/nera_parameter_records.rb +186 -0
- data/lib/nera/nera_run_layer_controller.rb +192 -0
- data/lib/nera/nera_run_records.rb +184 -0
- data/lib/nera/nera_simulator.rb +26 -0
- data/lib/nera/nera_simulator_layer_controller.rb +66 -0
- data/lib/nera/nera_simulator_records.rb +84 -0
- data/lib/nera.rb +25 -0
- data/lib/nera_addsim/make_simulator.rb +307 -0
- data/scripts/make_manifest.rb +21 -0
- data/test/runner.rb +3 -0
- data/test/test_helper.rb +52 -0
- data/test/test_nera_database.rb +221 -0
- data/test/test_nera_db_folders.rb +209 -0
- data/test/test_nera_dialog.rb +134 -0
- data/test/test_nera_job_layer_controller.rb +132 -0
- data/test/test_nera_job_records.rb +260 -0
- data/test/test_nera_parameter_layer_controller.rb +188 -0
- data/test/test_nera_parameter_records.rb +285 -0
- data/test/test_nera_run_layer_controller.rb +171 -0
- data/test/test_nera_run_records.rb +290 -0
- data/test/test_nera_simulator.rb +26 -0
- data/test/test_nera_simulator_layer_controller.rb +54 -0
- data/test/test_nera_simulator_records.rb +140 -0
- metadata +125 -0
@@ -0,0 +1,260 @@
|
|
1
|
+
require File.dirname(__FILE__) + '/test_helper'
|
2
|
+
|
3
|
+
class TC_NERA_JOB_RECS < Test::Unit::TestCase
|
4
|
+
|
5
|
+
def setup
|
6
|
+
@testdir = 'test_job_recs'
|
7
|
+
FileUtils.mkdir(@testdir)
|
8
|
+
FileUtils.chdir(@testdir)
|
9
|
+
@path_to_db = 'job_recs_table.marshal'
|
10
|
+
NERA::JobRecords.create_table( @path_to_db)
|
11
|
+
@db = NERA::JobRecords.new( @path_to_db)
|
12
|
+
end
|
13
|
+
|
14
|
+
def teardown
|
15
|
+
FileUtils.chdir('..')
|
16
|
+
FileUtils.rm_r(@testdir)
|
17
|
+
end
|
18
|
+
|
19
|
+
def test_constructor
|
20
|
+
assert_raise( RuntimeError) {
|
21
|
+
NERA::JobRecords.new('unknown_file')
|
22
|
+
}
|
23
|
+
end
|
24
|
+
|
25
|
+
def test_create_table
|
26
|
+
f = NERA::JobRecords.create_table( @path_to_db)
|
27
|
+
assert_nil( f)
|
28
|
+
end
|
29
|
+
|
30
|
+
def test_keys
|
31
|
+
k = [ :id,:state,:simulator,:parameter_id,:run_id,
|
32
|
+
:number_of_runs,:created_at,:updated_at,:host_name ]
|
33
|
+
assert_equal( k , @db.keys)
|
34
|
+
end
|
35
|
+
|
36
|
+
def test_add
|
37
|
+
assert_raise( ArgumentError) {
|
38
|
+
@db.add( 2,3,5,3)
|
39
|
+
}
|
40
|
+
assert_raise( ArgumentError) {
|
41
|
+
@db.add( "hoge",5,3,3)
|
42
|
+
}
|
43
|
+
assert_raise( ArgumentError) {
|
44
|
+
@db.add( 8,5,3,-1)
|
45
|
+
}
|
46
|
+
|
47
|
+
given_id = @db.add( Ising,5,3,4 )
|
48
|
+
d = DateTime.now
|
49
|
+
l = @db.list_all
|
50
|
+
rec = l[0]
|
51
|
+
assert_equal(1, given_id)
|
52
|
+
assert_equal( 1, rec[:id])
|
53
|
+
assert_equal( :created, rec[:state])
|
54
|
+
assert_equal( "Ising", rec[:simulator])
|
55
|
+
assert_equal( 5, rec[:parameter_id])
|
56
|
+
assert_equal( 3, rec[:run_id])
|
57
|
+
assert_equal( 4, rec[:number_of_runs] )
|
58
|
+
assert_equal( d.year, rec[:updated_at].year )
|
59
|
+
assert_equal( d.month, rec[:updated_at].month )
|
60
|
+
assert_equal( d.day, rec[:updated_at].day )
|
61
|
+
assert_equal( d.hour , rec[:updated_at].hour )
|
62
|
+
assert_equal( d.min, rec[:updated_at].min )
|
63
|
+
assert_equal( rec[:created_at], rec[:updated_at] )
|
64
|
+
assert_nil( rec[:host_name])
|
65
|
+
|
66
|
+
sleep 2
|
67
|
+
given_id = @db.add( XY,4,2,5 )
|
68
|
+
d = DateTime.now
|
69
|
+
l = @db.list_all
|
70
|
+
rec = l[1]
|
71
|
+
assert_equal( 2, rec[:id])
|
72
|
+
assert_equal( :created, rec[:state])
|
73
|
+
assert_equal( "XY", rec[:simulator])
|
74
|
+
assert_equal( 4, rec[:parameter_id])
|
75
|
+
assert_equal( 2, rec[:run_id])
|
76
|
+
assert_equal( 5, rec[:number_of_runs] )
|
77
|
+
assert_equal( d.year, rec[:updated_at].year )
|
78
|
+
assert_equal( d.month, rec[:updated_at].month )
|
79
|
+
assert_equal( d.day, rec[:updated_at].day )
|
80
|
+
assert_equal( d.hour , rec[:updated_at].hour )
|
81
|
+
assert_equal( d.min, rec[:updated_at].min )
|
82
|
+
assert_equal( rec[:created_at], rec[:updated_at] )
|
83
|
+
assert_nil( rec[:host_name])
|
84
|
+
|
85
|
+
assert( l[0][:created_at] < l[1][:created_at])
|
86
|
+
|
87
|
+
end
|
88
|
+
|
89
|
+
def add_three
|
90
|
+
@db.add( Ising,2,3,4)
|
91
|
+
@db.add( XY,6,7,8)
|
92
|
+
@db.add( Heisenberg,10,11,12)
|
93
|
+
end
|
94
|
+
|
95
|
+
def test_list
|
96
|
+
# ------
|
97
|
+
l = @db.list_all
|
98
|
+
assert( l.is_a?(Array) )
|
99
|
+
assert( l.size == 0 )
|
100
|
+
|
101
|
+
# ------
|
102
|
+
add_three
|
103
|
+
l = @db.list_all
|
104
|
+
assert( l.is_a?(Array) )
|
105
|
+
assert_equal( 3, l.size)
|
106
|
+
l2 = l.dup
|
107
|
+
l2.sort! do |a,b|
|
108
|
+
a[:id] <=> b[:id]
|
109
|
+
end
|
110
|
+
assert_equal( l, l2)
|
111
|
+
lc = @db.list_created
|
112
|
+
assert_equal( l, lc)
|
113
|
+
end
|
114
|
+
|
115
|
+
def test_find_by_id
|
116
|
+
assert_nil( @db.find_by_id(1) )
|
117
|
+
add_three
|
118
|
+
r = @db.find_by_id(1)
|
119
|
+
assert( r.is_a?(Hash) )
|
120
|
+
assert_equal( 1, r[:id])
|
121
|
+
assert_equal( :created, r[:state])
|
122
|
+
assert_equal( "Ising", r[:simulator])
|
123
|
+
assert_equal( 2, r[:parameter_id])
|
124
|
+
assert_equal( 3, r[:run_id])
|
125
|
+
assert_equal( 4, r[:number_of_runs] )
|
126
|
+
assert_equal( r[:created_at], r[:updated_at] )
|
127
|
+
assert_nil( r[:host_name])
|
128
|
+
|
129
|
+
assert_nil( @db.find_by_id(500) )
|
130
|
+
end
|
131
|
+
|
132
|
+
def test_update_to_state_copied
|
133
|
+
add_three
|
134
|
+
|
135
|
+
r = @db.find_by_id(2)
|
136
|
+
assert_equal( :created, r[:state])
|
137
|
+
assert_nil( r[:host_name])
|
138
|
+
|
139
|
+
sleep 2
|
140
|
+
f = @db.update_to_state_copied( 2, "supacon.com")
|
141
|
+
assert_equal( true, f)
|
142
|
+
r2 = @db.find_by_id(2)
|
143
|
+
assert_equal( :copied, r2[:state])
|
144
|
+
assert_equal( r[:simulator], r2[:simulator])
|
145
|
+
assert_equal( r[:parameter_id], r2[:parameter_id])
|
146
|
+
assert_equal( r[:run_id], r2[:run_id])
|
147
|
+
assert_equal( r[:number_of_runs], r2[:number_of_runs])
|
148
|
+
assert_equal( r[:created_at], r2[:created_at])
|
149
|
+
assert( r[:updated_at] < r2[:updated_at])
|
150
|
+
assert_equal( "supacon.com", r2[:host_name])
|
151
|
+
|
152
|
+
la = @db.list_all
|
153
|
+
lc = @db.list_created
|
154
|
+
diff = la - lc
|
155
|
+
assert_equal( 1, diff.size)
|
156
|
+
assert_equal( r2, diff[0])
|
157
|
+
|
158
|
+
f = @db.update_to_state_copied( 2, "another_host")
|
159
|
+
assert_equal( true, f)
|
160
|
+
r2 = @db.find_by_id(2)
|
161
|
+
assert_equal( :copied, r2[:state])
|
162
|
+
assert_equal( "another_host", r2[:host_name])
|
163
|
+
|
164
|
+
assert_nil( @db.update_to_state_copied( 500, "unknown_host") )
|
165
|
+
assert_raise( ArgumentError) {
|
166
|
+
@db.update_to_state_copied( "hoge",2)
|
167
|
+
}
|
168
|
+
assert_raise( ArgumentError) {
|
169
|
+
@db.update_to_state_copied( 2, 2)
|
170
|
+
}
|
171
|
+
|
172
|
+
lc2 = @db.list_created
|
173
|
+
assert_equal( lc, lc2)
|
174
|
+
end
|
175
|
+
|
176
|
+
def test_update_to_state_submitted
|
177
|
+
add_three
|
178
|
+
|
179
|
+
r = @db.find_by_id(2)
|
180
|
+
assert_equal( :created, r[:state])
|
181
|
+
assert_nil( r[:host_name])
|
182
|
+
|
183
|
+
sleep 2
|
184
|
+
f = @db.update_to_state_submitted( 2, "supacon.com")
|
185
|
+
assert_equal( true, f)
|
186
|
+
r2 = @db.find_by_id(2)
|
187
|
+
assert_equal( :submitted, r2[:state])
|
188
|
+
assert_equal( r[:simulator], r2[:simulator])
|
189
|
+
assert_equal( r[:parameter_id], r2[:parameter_id])
|
190
|
+
assert_equal( r[:run_id], r2[:run_id])
|
191
|
+
assert_equal( r[:number_of_runs], r2[:number_of_runs])
|
192
|
+
assert_equal( r[:created_at], r2[:created_at])
|
193
|
+
assert( r[:updated_at] < r2[:updated_at])
|
194
|
+
assert_equal( "supacon.com", r2[:host_name])
|
195
|
+
|
196
|
+
la = @db.list_all
|
197
|
+
lc = @db.list_created
|
198
|
+
diff = la - lc
|
199
|
+
assert_equal( 1, diff.size)
|
200
|
+
assert_equal( r2, diff[0])
|
201
|
+
|
202
|
+
f = @db.update_to_state_copied( 1, "another_host")
|
203
|
+
assert_equal( true, f)
|
204
|
+
f = @db.update_to_state_submitted( 1, "supacon.com")
|
205
|
+
r1 = @db.find_by_id(1)
|
206
|
+
assert_equal( :submitted, r1[:state])
|
207
|
+
assert_equal( "supacon.com", r1[:host_name])
|
208
|
+
|
209
|
+
assert_nil( @db.update_to_state_copied( 500, "unknown_host") )
|
210
|
+
assert_raise( ArgumentError) {
|
211
|
+
@db.update_to_state_copied( "hoge",2)
|
212
|
+
}
|
213
|
+
assert_raise( ArgumentError) {
|
214
|
+
@db.update_to_state_copied( 2, 2)
|
215
|
+
}
|
216
|
+
la = @db.list_all
|
217
|
+
lc = @db.list_created
|
218
|
+
diff = la - lc
|
219
|
+
assert_equal( 2, diff.size)
|
220
|
+
end
|
221
|
+
|
222
|
+
def test_destroy
|
223
|
+
add_three
|
224
|
+
r3 = @db.find_by_id(3)
|
225
|
+
destroyed = @db.destroy(3)
|
226
|
+
assert_equal( r3, destroyed)
|
227
|
+
l = @db.list_all
|
228
|
+
assert_equal( 2, l.size)
|
229
|
+
|
230
|
+
assert_nil( @db.destroy(3) )
|
231
|
+
@db.add( Ising,14,15,16)
|
232
|
+
l = @db.list_all
|
233
|
+
assert_equal( 3, l.size)
|
234
|
+
r4 = @db.find_by_id(4)
|
235
|
+
assert_equal(4, r4[:id])
|
236
|
+
|
237
|
+
assert_nil( @db.destroy(500) )
|
238
|
+
|
239
|
+
assert_raise(ArgumentError) {
|
240
|
+
@db.destroy("4")
|
241
|
+
}
|
242
|
+
end
|
243
|
+
|
244
|
+
def test_transaction
|
245
|
+
add_three
|
246
|
+
r3 = @db.find_by_id(3)
|
247
|
+
assert_raise(RuntimeError) {
|
248
|
+
@db.transaction {
|
249
|
+
destroyed = @db.destroy(3)
|
250
|
+
assert_equal( r3, destroyed)
|
251
|
+
l = @db.list_all
|
252
|
+
assert_equal( 2, l.size)
|
253
|
+
raise
|
254
|
+
}
|
255
|
+
}
|
256
|
+
assert_equal( r3, @db.find_by_id(3) )
|
257
|
+
assert_equal( 3, @db.list_all.size)
|
258
|
+
end
|
259
|
+
|
260
|
+
end
|
@@ -0,0 +1,188 @@
|
|
1
|
+
require File.dirname(__FILE__) + '/test_helper'
|
2
|
+
|
3
|
+
|
4
|
+
class TC_NERA_PARAM_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
|
+
@plc = NERA::ParameterLayerController.new( @db_folder, Ising)
|
15
|
+
end
|
16
|
+
|
17
|
+
def teardown
|
18
|
+
FileUtils.chdir('..')
|
19
|
+
FileUtils.rm_r(@testdir)
|
20
|
+
end
|
21
|
+
|
22
|
+
def test_constructor
|
23
|
+
assert_raise( ArgumentError) {
|
24
|
+
NERA::ParameterLayerController.new( @dbf,1)
|
25
|
+
}
|
26
|
+
assert_raise( ArgumentError) {
|
27
|
+
NERA::ParameterLayerController.new( Temp,1)
|
28
|
+
}
|
29
|
+
assert_raise( ArgumentError) {
|
30
|
+
x = NERA::ParameterLayerController.new( @dbf, "1")
|
31
|
+
}
|
32
|
+
end
|
33
|
+
|
34
|
+
def test_parameters_list_in_csv
|
35
|
+
header, list = @plc.parameters_list_in_csv
|
36
|
+
assert( header.is_a?(String) )
|
37
|
+
assert_equal( "id, created_at, updated_at, L, K, tmax", header)
|
38
|
+
assert( list.is_a?(Array) )
|
39
|
+
assert_equal( 0, list.size)
|
40
|
+
|
41
|
+
f = @plc.create_a_new_parameter_set( {:L => 96, :K => 0.25, :tmax => 128} )
|
42
|
+
assert_equal( 1, f)
|
43
|
+
header, list = @plc.parameters_list_in_csv
|
44
|
+
assert( header.is_a?(String) )
|
45
|
+
assert_equal( "id, created_at, updated_at, L, K, tmax", header)
|
46
|
+
assert( list.is_a?(Array) )
|
47
|
+
assert_equal( 1, list.size)
|
48
|
+
dstr = DateTime.now.to_s.split('T')[0]
|
49
|
+
assert_equal( "1, #{dstr}, #{dstr}, 96, 0.25, 128", list[0])
|
50
|
+
|
51
|
+
f = @plc.create_a_new_parameter_set( {:L => 32} )
|
52
|
+
assert_equal( 2, f)
|
53
|
+
header, list = @plc.parameters_list_in_csv
|
54
|
+
assert_equal( 2, list.size)
|
55
|
+
assert_equal( "1, #{dstr}, #{dstr}, 96, 0.25, 128", list[0])
|
56
|
+
dstr = DateTime.now.to_s.split('T')[0]
|
57
|
+
assert_equal( "2, #{dstr}, #{dstr}, 32, 0.223, 512", list[1])
|
58
|
+
|
59
|
+
@plc.move_a_parameter_set_into_trashbox(1)
|
60
|
+
header, list = @plc.parameters_list_in_csv
|
61
|
+
assert_equal( 1, list.size)
|
62
|
+
assert_equal( "2, #{dstr}, #{dstr}, 32, 0.223, 512", list[0])
|
63
|
+
end
|
64
|
+
|
65
|
+
def add_three
|
66
|
+
f = @plc.create_a_new_parameter_set( {:L => 32, :K => 0.01, :tmax => 1} )
|
67
|
+
f = @plc.create_a_new_parameter_set( {:L => 64, :K => 0.02, :tmax => 2} )
|
68
|
+
f = @plc.create_a_new_parameter_set( {:L => 96, :K => 0.03, :tmax => 3} )
|
69
|
+
end
|
70
|
+
|
71
|
+
def test_get_id_from_csv_string
|
72
|
+
add_three
|
73
|
+
header, list = @plc.parameters_list_in_csv
|
74
|
+
assert_equal( 1, @plc.get_id_from_csv_string( list[0]) )
|
75
|
+
assert_equal( 2, @plc.get_id_from_csv_string( list[1]) )
|
76
|
+
assert_equal( 3, @plc.get_id_from_csv_string( list[2]) )
|
77
|
+
end
|
78
|
+
|
79
|
+
def test_list_of_parameters
|
80
|
+
p1 = @plc.list_of_parameters
|
81
|
+
p2 = [ [:L, Integer, 32],
|
82
|
+
[:K, Float, 0.223],
|
83
|
+
[:tmax, Integer, 512]
|
84
|
+
]
|
85
|
+
assert_equal( p2, p1)
|
86
|
+
end
|
87
|
+
|
88
|
+
def test_path_to_param_layer
|
89
|
+
assert_equal( "nera_db/Ising/", @plc.path_to_param_layer)
|
90
|
+
end
|
91
|
+
|
92
|
+
def test_create_a_new_parameter_set
|
93
|
+
f = @plc.create_a_new_parameter_set( {:L => 32, :K => 0.01, :tmax => 1} )
|
94
|
+
assert_equal( 1, f)
|
95
|
+
f = @plc.create_a_new_parameter_set( {:L => 64, :K => 0.02} )
|
96
|
+
assert_equal( 2, f)
|
97
|
+
f = @plc.create_a_new_parameter_set( {:L => 96, :tmax => 3} )
|
98
|
+
assert_equal( 3, f)
|
99
|
+
f = @plc.create_a_new_parameter_set( {:L => 64, :K => 0.02} )
|
100
|
+
assert_nil( f)
|
101
|
+
assert_raise( ArgumentError) {
|
102
|
+
f = @plc.create_a_new_parameter_set( {:L => 64, :unknown => 0.02} )
|
103
|
+
}
|
104
|
+
assert_raise( ArgumentError) {
|
105
|
+
f = @plc.create_a_new_parameter_set( {:L => 64, :K => 2} )
|
106
|
+
}
|
107
|
+
assert_raise( ArgumentError) {
|
108
|
+
f = @plc.create_a_new_parameter_set( [64,0.01,3] )
|
109
|
+
}
|
110
|
+
header, list = @plc.parameters_list_in_csv
|
111
|
+
d = DateTime.now.to_s.split('T')[0]
|
112
|
+
l = [ "1, #{d}, #{d}, 32, 0.01, 1",
|
113
|
+
"2, #{d}, #{d}, 64, 0.02, 512",
|
114
|
+
"3, #{d}, #{d}, 96, 0.223, 3"]
|
115
|
+
assert_equal( l, list)
|
116
|
+
end
|
117
|
+
|
118
|
+
def test_move_a_parameter_set_into_trashbox
|
119
|
+
add_three
|
120
|
+
f = @plc.move_a_parameter_set_into_trashbox(2)
|
121
|
+
assert_equal( true, f)
|
122
|
+
header, list = @plc.parameters_list_in_csv
|
123
|
+
assert_equal( 2, list.size)
|
124
|
+
f = @plc.move_a_parameter_set_into_trashbox(2)
|
125
|
+
assert_nil( f)
|
126
|
+
f = @plc.move_a_parameter_set_into_trashbox(5)
|
127
|
+
assert_nil( f)
|
128
|
+
assert_raise( ArgumentError) {
|
129
|
+
f = @plc.move_a_parameter_set_into_trashbox("1")
|
130
|
+
}
|
131
|
+
end
|
132
|
+
|
133
|
+
def test_trashbox_parameter_list_in_csv
|
134
|
+
add_three
|
135
|
+
h, l = @plc.parameters_list_in_csv
|
136
|
+
h2, l2 = @plc.trashbox_parameter_list_in_csv
|
137
|
+
assert_equal( h, h2)
|
138
|
+
assert_equal( [], l2)
|
139
|
+
@plc.move_a_parameter_set_into_trashbox(2)
|
140
|
+
h2, l2 = @plc.trashbox_parameter_list_in_csv
|
141
|
+
assert_equal( l[1], l2[0])
|
142
|
+
end
|
143
|
+
|
144
|
+
def test_revert_a_parameter_set_in_trashbox
|
145
|
+
add_three
|
146
|
+
h_org, l_org = @plc.parameters_list_in_csv
|
147
|
+
f = @plc.move_a_parameter_set_into_trashbox(2)
|
148
|
+
f = @plc.revert_a_parameter_set_in_trashbox(2)
|
149
|
+
assert(f)
|
150
|
+
h2, l2 = @plc.parameters_list_in_csv
|
151
|
+
assert_equal( l_org, l2)
|
152
|
+
h3, l3 = @plc.trashbox_parameter_list_in_csv
|
153
|
+
assert_equal( 0, l3.size)
|
154
|
+
|
155
|
+
f = @plc.revert_a_parameter_set_in_trashbox(2)
|
156
|
+
assert_nil( f)
|
157
|
+
f = @plc.revert_a_parameter_set_in_trashbox(100)
|
158
|
+
assert_nil( f)
|
159
|
+
|
160
|
+
assert_raise( ArgumentError) {
|
161
|
+
@plc.revert_a_parameter_set_in_trashbox("2")
|
162
|
+
}
|
163
|
+
end
|
164
|
+
|
165
|
+
def test_delete_a_parameter_set
|
166
|
+
add_three
|
167
|
+
h_org, l_org = @plc.parameters_list_in_csv
|
168
|
+
@plc.move_a_parameter_set_into_trashbox(2)
|
169
|
+
s = @plc.delete_a_parameter_set(2)
|
170
|
+
assert(s)
|
171
|
+
ht, lt = @plc.trashbox_parameter_list_in_csv
|
172
|
+
assert_equal( [], lt)
|
173
|
+
|
174
|
+
n = @plc.revert_a_parameter_set_in_trashbox(2)
|
175
|
+
assert_nil(n)
|
176
|
+
|
177
|
+
n = @plc.revert_a_parameter_set_in_trashbox(100)
|
178
|
+
assert_nil(n)
|
179
|
+
|
180
|
+
n = @plc.revert_a_parameter_set_in_trashbox(1)
|
181
|
+
assert_nil(n)
|
182
|
+
|
183
|
+
assert_raise( ArgumentError) {
|
184
|
+
n = @plc.revert_a_parameter_set_in_trashbox("2")
|
185
|
+
}
|
186
|
+
end
|
187
|
+
|
188
|
+
end
|