unit tests

pull/48/head
TimEvWw 2015-01-18 00:52:46 +01:00
parent 4977bd01e4
commit 2b8ea88234
19 changed files with 1341 additions and 58 deletions

View File

@ -14,6 +14,7 @@ class HardwareInterfaceArduino
attr_accessor :ramps_param, :ramps_main
attr_accessor :test_serial_read, :test_serial_write
attr_accessor :external_info
# initialize the interface
#
@ -269,7 +270,7 @@ class HardwareInterfaceArduino
end
def process_value_process_param_list(params,code)
if params.p >= 0
if params.p != 0
process_value_R21(params,code)
process_value_R23(params,code)
process_value_R41(params,code)
@ -294,7 +295,7 @@ class HardwareInterfaceArduino
if code == 'R23'
param = @ramps_param.get_param_by_id(params.p)
if param != nil
save_param_value(params.p, :by_id, :from_db, params.v)
@ramps_param.save_param_value(params.p, :by_id, :from_db, params.v)
end
end
end
@ -358,7 +359,7 @@ class HardwareInterfaceArduino
#
def process_value_process_R99(code,text)
if code == 'R99'
puts ">#{text}<"
puts ">#{text}<" if @test_mode == false
end
end

View File

@ -138,5 +138,10 @@ $arduino_default_params = [
:name => 'MOVEMENT_STEPS_PER_UNIT_Z',
:id => 903,
:value => 5
},
{
:name => 'TESTING',
:id => -1,
:value => 0
}
]

View File

@ -1,7 +1,8 @@
require 'spec_helper'
require './lib/status.rb'
require './lib/hardware/gcode/ramps_arduino.rb'
require './lib/database/dbaccess.rb'
require './lib/hardware/gcode/ramps_arduino.rb'
require './lib/hardware/gcode/ramps_param.rb'
describe HardwareInterfaceArduino do
@ -15,6 +16,9 @@ describe HardwareInterfaceArduino do
@ramps = HardwareInterfaceArduino.new(true)
@ramps_param = HardwareInterfaceParam.new
@ramps.ramps_param = @ramps_param
end
it "read status" do
@ -29,8 +33,6 @@ describe HardwareInterfaceArduino do
@ramps.test_serial_read = "R01\nR02\n"
@ramps.execute_command(command, false, false)
#:test_string_read, :test_string_write
expect(@ramps.test_serial_write).to eq("#{command}\n")
end
@ -107,82 +109,566 @@ describe HardwareInterfaceArduino do
it "process codes and parameters R01" do
text = rand(9999999).to_s
log = rand(9999999).to_s
onscreen = false
write_status = @ramps.create_write_status(text, log, onscreen)
write_status.code = "R01"
timeout = write_status.timeout
@ramps.process_code_and_params(write_status)
expect(write_status.timeout).to be > timeout
end
end
it "process codes and parameters R02" do
text = rand(9999999).to_s
log = rand(9999999).to_s
onscreen = false
=begin
require 'spec_helper'
require './lib/status.rb'
require './lib/messaging/messaging.rb'
require './lib/messaging/messaging_test.rb'
require './lib/messaging/messagehandler_logs.rb'
require './lib/hardware/gcode/ramps_arduino.rb'
write_status = @ramps.create_write_status(text, log, onscreen)
write_status.code = "R02"
describe HardwareInterfaceArduino do
@ramps.process_code_and_params(write_status)
before do
$db_write_sync = Mutex.new
$bot_dbaccess = DbAccess.new('development')
$dbaccess = $bot_dbaccess
$dbaccess.disable_log_to_screen()
expect(write_status.done).to eq(1)
$status = Status.new
$messaging = MessagingTest.new
$messaging.reset
@handler = MessageHandlerLog.new
@main_handler = MessageHandler.new
end
## logs
it "read logs" do
it "process codes and parameters R03" do
# write a few lines in the log
log_text_1 = rand(9999999).to_s
log_text_2 = rand(9999999).to_s
log_module_1 = 99
log_module_2 = 98
text = rand(9999999).to_s
log = rand(9999999).to_s
onscreen = false
$dbaccess.write_to_log( log_module_1, log_text_1 )
$dbaccess.write_to_log( log_module_2, log_text_2 )
write_status = @ramps.create_write_status(text, log, onscreen)
write_status.code = "R03"
# get the logs in a message
@ramps.process_code_and_params(write_status)
message = MessageHandlerMessage.new
message.handled = false
message.handler = @main_handler
expect(write_status.done).to eq(1)
end
@handler.read_logs(message)
it "process codes and parameters R04" do
return_list = $messaging.message
text = rand(9999999).to_s
log = rand(9999999).to_s
onscreen = false
# check if the logged lines are present in the message
write_status = @ramps.create_write_status(text, log, onscreen)
write_status.code = "R04"
timeout = write_status.timeout
time = Time.now
found_in_list_1 = false
found_in_list_2 = false
@ramps.process_code_and_params(write_status)
expect(write_status.timeout).to be > timeout
expect(write_status.start).to be > time
end
it "process codes and parameters other" do
text = rand(9999999).to_s
log = rand(9999999).to_s
onscreen = false
par = rand(9999999).to_s
write_status = @ramps.create_write_status(text, log, onscreen)
write_status.code = "R83"
write_status.params = par
@ramps.process_code_and_params(write_status)
expect($status.device_version).to eq(write_status.params)
end
return_list[:logs].each do |item|
if item['text'] == log_text_1 and item['module'] == log_module_1
found_in_list_1 = true
end
if item['text'] == log_text_2 and item['module'] == log_module_2
found_in_list_2 = true
it "prepare serial port" do
text = rand(9999999).to_s
log = rand(9999999).to_s
onscreen = false
write_status = @ramps.create_write_status(text, log, onscreen)
@ramps.prepare_serial_port(write_status)
expect(1).to eq(1)
end
it "clean serial buffer" do
@ramps.test_serial_read = rand(9999999).to_s
@ramps.clean_serial_buffer
expect(@ramps.test_serial_read).to eq("")
end
it "serial port write" do
text = rand(9999999).to_s
@ramps.serial_port_write(text)
expect(@ramps.test_serial_write).to eq(text)
end
it "emergency stop off" do
@ramps.test_serial_write = ""
$status.emergency_stop = false
@ramps.check_emergency_stop
expect(@ramps.test_serial_write).to eq("")
end
it "emergency stop on" do
@ramps.test_serial_write = ""
$status.emergency_stop = true
@ramps.check_emergency_stop
expect(@ramps.test_serial_write).to eq("E\n")
end
it "log incoming text" do
text = rand(9999999).to_s
log = rand(9999999).to_s
onscreen = false
write_status = @ramps.create_write_status(text, log, onscreen)
@ramps.log_incoming_text(write_status)
expect(1).to eq(1)
end
it "process value split two letters" do
params = HardwareInterfaceArduinoValuesReceived.new
code = "R81"
text = "ZA1 ZB2 XA3 XB4 YA5 YB6"
@ramps.process_value_split(code, params, text)
expect(params.za).to eq(1)
expect(params.zb).to eq(2)
expect(params.xa).to eq(3)
expect(params.xb).to eq(4)
expect(params.ya).to eq(5)
expect(params.yb).to eq(6)
end
it "process value split one letters" do
params = HardwareInterfaceArduinoValuesReceived.new
code = "R99"
text = "P1 V2 X3 Y4 Z5"
@ramps.process_value_split(code, params, text)
expect(params.p).to eq(1)
expect(params.v).to eq(2)
expect(params.x).to eq(3)
expect(params.y).to eq(4)
expect(params.z).to eq(5)
end
it "process value R21" do
param = -1
value = rand(999).to_i
code = "R21"
text = "P#{param} V#{value}"
params = HardwareInterfaceArduinoValuesReceived.new
@ramps.process_value_split(code, params, text)
@ramps.process_value_R21(params,code)
par_obj = @ramps_param.get_param_by_id(param)
expect(par_obj['value_ar']).to eq(value)
end
it "process value R23" do
param = -1
value = rand(999).to_i
code = "R23"
text = "P#{param} V#{value}"
params = HardwareInterfaceArduinoValuesReceived.new
@ramps.process_value_split(code, params, text)
@ramps.process_value_R23(params,code)
par_obj = @ramps_param.get_param_by_id(param)
expect(par_obj['value_db']).to eq(value)
end
it "process value R41" do
pinnr = rand(9999999).to_i
value = rand(9999999).to_i
exinf = rand(9999999).to_i
code = "R41"
text = "P#{pinnr} V#{value}"
@ramps.external_info = exinf
params = HardwareInterfaceArduinoValuesReceived.new
@ramps.process_value_split(code, params, text)
@ramps.process_value_R41(params,code)
pin_value = 0
list = $dbaccess.read_measurement_list()
list.each do |meas|
if meas['ext_info'].to_s == exinf.to_s
pin_value = meas['value']
end
end
expect(pin_value.to_i).to eq(value.to_i)
end
# check expectations
it "process value R81 XA" do
params = HardwareInterfaceArduinoValuesReceived.new
code = "R81"
text = " XA1 XB0 YA0 YB0 ZA0 ZB0 "
@ramps.process_value_split(code, params, text)
@ramps.process_value_R81(params,code)
expect($status.info_end_stop_x_a).to eq(true)
expect($status.info_end_stop_x_b).to eq(false)
expect($status.info_end_stop_y_a).to eq(false)
expect($status.info_end_stop_y_b).to eq(false)
expect($status.info_end_stop_z_a).to eq(false)
expect($status.info_end_stop_z_b).to eq(false)
end
it "process value R81 XB" do
params = HardwareInterfaceArduinoValuesReceived.new
code = "R81"
text = " XA0 XB1 YA0 YB0 ZA0 ZB0 "
@ramps.process_value_split(code, params, text)
@ramps.process_value_R81(params,code)
expect($status.info_end_stop_x_a).to eq(false)
expect($status.info_end_stop_x_b).to eq(true)
expect($status.info_end_stop_y_a).to eq(false)
expect($status.info_end_stop_y_b).to eq(false)
expect($status.info_end_stop_z_a).to eq(false)
expect($status.info_end_stop_z_b).to eq(false)
end
it "process value R81 YA" do
params = HardwareInterfaceArduinoValuesReceived.new
code = "R81"
text = " XA0 XB0 YA1 YB0 ZA0 ZB0 "
@ramps.process_value_split(code, params, text)
@ramps.process_value_R81(params,code)
expect($status.info_end_stop_x_a).to eq(false)
expect($status.info_end_stop_x_b).to eq(false)
expect($status.info_end_stop_y_a).to eq(true)
expect($status.info_end_stop_y_b).to eq(false)
expect($status.info_end_stop_z_a).to eq(false)
expect($status.info_end_stop_z_b).to eq(false)
end
it "process value R81 YB" do
params = HardwareInterfaceArduinoValuesReceived.new
code = "R81"
text = " XA0 XB0 YA0 YB1 ZA0 ZB0 "
@ramps.process_value_split(code, params, text)
@ramps.process_value_R81(params,code)
expect($status.info_end_stop_x_a).to eq(false)
expect($status.info_end_stop_x_b).to eq(false)
expect($status.info_end_stop_y_a).to eq(false)
expect($status.info_end_stop_y_b).to eq(true)
expect($status.info_end_stop_z_a).to eq(false)
expect($status.info_end_stop_z_b).to eq(false)
end
it "process value R81 ZA" do
params = HardwareInterfaceArduinoValuesReceived.new
code = "R81"
text = " XA0 XB0 YA0 YB0 ZA1 ZB0 "
@ramps.process_value_split(code, params, text)
@ramps.process_value_R81(params,code)
expect($status.info_end_stop_x_a).to eq(false)
expect($status.info_end_stop_x_b).to eq(false)
expect($status.info_end_stop_y_a).to eq(false)
expect($status.info_end_stop_y_b).to eq(false)
expect($status.info_end_stop_z_a).to eq(true)
expect($status.info_end_stop_z_b).to eq(false)
end
it "process value R81 ZB" do
params = HardwareInterfaceArduinoValuesReceived.new
code = "R81"
text = " XA0 XB0 YA0 YB0 ZA0 ZB1 "
@ramps.process_value_split(code, params, text)
@ramps.process_value_R81(params,code)
expect($status.info_end_stop_x_a).to eq(false)
expect($status.info_end_stop_x_b).to eq(false)
expect($status.info_end_stop_y_a).to eq(false)
expect($status.info_end_stop_y_b).to eq(false)
expect($status.info_end_stop_z_a).to eq(false)
expect($status.info_end_stop_z_b).to eq(true)
end
it "process value R82" do
x = rand(9999999).to_i
y = rand(9999999).to_i
z = rand(9999999).to_i
params = HardwareInterfaceArduinoValuesReceived.new
code = "R82"
text = "X#{x} Y#{y} Z#{z}"
@ramps.process_value_split(code, params, text)
@ramps.process_value_R82(params,code)
expect($status.info_current_x_steps).to eq(x)
expect($status.info_current_y_steps).to eq(y)
expect($status.info_current_z_steps).to eq(z)
expect($status.info_current_x ).to eq(x / @ramps_param.axis_x_steps_per_unit)
expect($status.info_current_y ).to eq(y / @ramps_param.axis_y_steps_per_unit)
expect($status.info_current_z ).to eq(z / @ramps_param.axis_z_steps_per_unit)
end
it "process value R83" do
code = "R83"
text = rand(9999999).to_s
@ramps.process_value_process_R83(code, text)
expect($status.device_version).to eq(text)
end
it "process value R99" do
code = "R99"
text = rand(9999999).to_s
@ramps.process_value_process_R99(code, text)
end
it "save pin value" do
pinnr = rand(9999999).to_i
value = rand(9999999).to_i
exinf = rand(9999999).to_i
@ramps.external_info = exinf
@ramps.save_pin_value(pinnr, value)
pin_value = 0
list = $dbaccess.read_measurement_list()
list.each do |meas|
if meas['ext_info'].to_s == exinf.to_s
pin_value = meas['value']
end
end
expect(pin_value.to_i).to eq(value.to_i)
end
it "process value process param list 1" do
# "process value R21"
param = -1
value = rand(999).to_i
code = "R21"
text = "P#{param} V#{value}"
params = HardwareInterfaceArduinoValuesReceived.new
@ramps.process_value_split(code, params, text)
@ramps.process_value_process_param_list(params,code)
par_obj = @ramps_param.get_param_by_id(param)
expect(par_obj['value_ar']).to eq(value)
end
it "process value process param list 2" do
# "process value R23"
param = -1
value = rand(999).to_i
code = "R23"
text = "P#{param} V#{value}"
params = HardwareInterfaceArduinoValuesReceived.new
@ramps.process_value_split(code, params, text)
@ramps.process_value_process_param_list(params,code)
par_obj = @ramps_param.get_param_by_id(param)
expect(par_obj['value_db']).to eq(value)
end
it "process value process param list 3" do
# "process value R41"
pinnr = rand(9999999).to_i
value = rand(9999999).to_i
exinf = rand(9999999).to_i
code = "R41"
text = "P#{pinnr} V#{value}"
@ramps.external_info = exinf
params = HardwareInterfaceArduinoValuesReceived.new
@ramps.process_value_split(code, params, text)
@ramps.process_value_process_param_list(params,code)
pin_value = 0
list = $dbaccess.read_measurement_list()
list.each do |meas|
if meas['ext_info'].to_s == exinf.to_s
pin_value = meas['value']
end
end
end
it "process value process text 1" do
# process_value_process_R83
code = "R83"
text = rand(9999999).to_s
@ramps.process_value_process_R83(code, text)
expect($status.device_version).to eq(text)
end
it "process value process text 2" do
# process_value_process_R99
code = "R99"
text = rand(9999999).to_s
@ramps.process_value_process_R99(code, text)
end
it "process value 1" do
# "process value R21"
param = -1
value = rand(999).to_i
code = "R21"
text = "P#{param} V#{value}"
@ramps.process_value(code,text)
par_obj = @ramps_param.get_param_by_id(param)
expect(par_obj['value_ar']).to eq(value)
end
it "process value 2" do
# process_value_process_R99
code = "R99"
text = rand(9999999).to_s
@ramps.process_value(code,text)
end
it "process value 3" do
params = HardwareInterfaceArduinoValuesReceived.new
code = "R81"
text = " XA0 XB0 YA0 YB0 ZA0 ZB1 "
@ramps.process_value(code,text)
expect($status.info_end_stop_x_a).to eq(false)
expect($status.info_end_stop_x_b).to eq(false)
expect($status.info_end_stop_y_a).to eq(false)
expect($status.info_end_stop_y_b).to eq(false)
expect($status.info_end_stop_z_a).to eq(false)
expect($status.info_end_stop_z_b).to eq(true)
end
it "process value named parameters 1" do
params = HardwareInterfaceArduinoValuesReceived.new
code = "R81"
text = " XA0 XB0 YA0 YB0 ZA0 ZB1 "
@ramps.process_value_split(code, params, text)
@ramps.process_value_process_named_params(params,code)
expect($status.info_end_stop_x_a).to eq(false)
expect($status.info_end_stop_x_b).to eq(false)
expect($status.info_end_stop_y_a).to eq(false)
expect($status.info_end_stop_y_b).to eq(false)
expect($status.info_end_stop_z_a).to eq(false)
expect($status.info_end_stop_z_b).to eq(true)
end
it "process value named parameters 2" do
x = rand(9999999).to_i
y = rand(9999999).to_i
z = rand(9999999).to_i
params = HardwareInterfaceArduinoValuesReceived.new
code = "R82"
text = "X#{x} Y#{y} Z#{z}"
@ramps.process_value_split(code, params, text)
@ramps.process_value_process_named_params(params,code)
expect($status.info_current_x_steps).to eq(x)
expect($status.info_current_y_steps).to eq(y)
expect($status.info_current_z_steps).to eq(z)
expect($status.info_current_x ).to eq(x / @ramps_param.axis_x_steps_per_unit)
expect($status.info_current_y ).to eq(y / @ramps_param.axis_y_steps_per_unit)
expect($status.info_current_z ).to eq(z / @ramps_param.axis_z_steps_per_unit)
expect(found_in_list_1).to eq(true)
expect(found_in_list_2).to eq(true)
expect($messaging.message[:message_type]).to eq('read_logs_response')
end
end
=end

View File

@ -0,0 +1,71 @@
require 'spec_helper'
require './lib/status.rb'
require './lib/database/dbaccess.rb'
require './lib/hardware/gcode/ramps_arduino_values_received.rb'
describe HardwareInterfaceArduinoValuesReceived do
before do
$db_write_sync = Mutex.new
$bot_dbaccess = DbAccess.new('development')
$dbaccess = $bot_dbaccess
$dbaccess.disable_log_to_screen()
$status = Status.new
@ramps = HardwareInterfaceArduinoValuesReceived.new()
#@ramps = HardwareInterfaceArduino.new(true)
#@ramps_param = HardwareInterfaceParam.new
#@ramps.ramps_param = @ramps_param
end
it "load parameters" do
p = rand(9999999).to_i
v = rand(9999999).to_i
x = rand(9999999).to_i
y = rand(9999999).to_i
z = rand(9999999).to_i
xa = rand(9999999).to_i
xb = rand(9999999).to_i
ya = rand(9999999).to_i
yb = rand(9999999).to_i
za = rand(9999999).to_i
zb = rand(9999999).to_i
@ramps.load_parameter("P", p)
@ramps.load_parameter("V", v)
@ramps.load_parameter("X", x)
@ramps.load_parameter("Y", y)
@ramps.load_parameter("Z", z)
@ramps.load_parameter("XA", xa)
@ramps.load_parameter("XB", xb)
@ramps.load_parameter("YA", ya)
@ramps.load_parameter("YB", yb)
@ramps.load_parameter("ZA", za)
@ramps.load_parameter("ZB", zb)
expect(@ramps.p).to eq(p)
expect(@ramps.v).to eq(v)
expect(@ramps.x).to eq(x)
expect(@ramps.y).to eq(y)
expect(@ramps.z).to eq(z)
expect(@ramps.xa).to eq(xa)
expect(@ramps.xb).to eq(xb)
expect(@ramps.ya).to eq(ya)
expect(@ramps.yb).to eq(yb)
expect(@ramps.za).to eq(za)
expect(@ramps.zb).to eq(zb)
end
end

View File

@ -0,0 +1,46 @@
require 'spec_helper'
require './lib/status.rb'
require './lib/database/dbaccess.rb'
require './lib/hardware/gcode/ramps_arduino_write_status.rb'
describe HardwareInterfaceArduinoWriteStatus do
before do
$db_write_sync = Mutex.new
$bot_dbaccess = DbAccess.new('development')
$dbaccess = $bot_dbaccess
$dbaccess.disable_log_to_screen()
$status = Status.new
@ramps = HardwareInterfaceArduinoWriteStatus.new()
end
it "is busy 1" do
@ramps.done = 0
busy = @ramps.is_busy
expect(busy).to eq(true)
end
it "is busy 2" do
@ramps.done = 1
busy = @ramps.is_busy
expect(busy).to eq(false)
end
it "split parameter" do
@ramps.received = "R00 XXX"
@ramps.split_received()
expect(@ramps.code).to eq("R00")
expect(@ramps.params).to eq("XXX")
end
end

View File

@ -4,7 +4,7 @@ require './lib/messaging/messaging.rb'
require './lib/messaging/messaging_test.rb'
require './lib/messaging/messagehandler_measurements.rb'
describe MessageHandlerMeasuremnt do
describe MessageHandlerMeasurement do
before do
$db_write_sync = Mutex.new

View File

@ -0,0 +1,674 @@
require 'spec_helper'
require './lib/status.rb'
require './lib/database/dbaccess.rb'
require './lib/hardware/gcode/ramps_arduino.rb'
require './lib/hardware/gcode/ramps_param.rb'
describe HardwareInterfaceArduino do
before do
$db_write_sync = Mutex.new
$bot_dbaccess = DbAccess.new('development')
$dbaccess = $bot_dbaccess
$dbaccess.disable_log_to_screen()
$status = Status.new
@ramps = HardwareInterfaceArduino.new(true)
@ramps_param = HardwareInterfaceParam.new
@ramps.ramps_param = @ramps_param
end
it "read status" do
@ramps.connect_board
expect(1).to eq(1)
end
it "execute_command" do
command = "TEST"
@ramps.test_serial_read = "R01\nR02\n"
@ramps.execute_command(command, false, false)
expect(@ramps.test_serial_write).to eq("#{command}\n")
end
it "create write status" do
text = rand(9999999).to_s
log = rand(9999999).to_s
onscreen = true
write_status = @ramps.create_write_status(text, log, onscreen)
expect(write_status.text ).to eq(text )
expect(write_status.log ).to eq(log )
expect(write_status.onscreen ).to eq(onscreen )
end
it "handle execution exception" do
e = Exception.new
@ramps.handle_execution_exception(e)
expect(1).to eq(1)
end
it "log result of execution" do
text = rand(9999999).to_s
log = rand(9999999).to_s
onscreen = true
write_status = @ramps.create_write_status(text, log, onscreen)
@ramps.log_result_of_execution(write_status)
expect(1).to eq(1)
end
it "process feedback" do
text = rand(9999999).to_s
log = rand(9999999).to_s
onscreen = false
@ramps.test_serial_read = "R02\n"
write_status = @ramps.create_write_status(text, log, onscreen)
@ramps.process_feedback(write_status)
@ramps.process_feedback(write_status)
@ramps.process_feedback(write_status)
@ramps.process_feedback(write_status)
@ramps.process_feedback(write_status)
expect(write_status.done).to eq(1)
end
it "and and process characters" do
text = rand(9999999).to_s
log = rand(9999999).to_s
onscreen = false
write_status = @ramps.create_write_status(text, log, onscreen)
@ramps.add_and_process_characters(write_status, 'R')
@ramps.add_and_process_characters(write_status, '0')
@ramps.add_and_process_characters(write_status, '2')
@ramps.add_and_process_characters(write_status, "\n")
expect(write_status.done).to eq(1)
end
it "process codes and parameters R01" do
text = rand(9999999).to_s
log = rand(9999999).to_s
onscreen = false
write_status = @ramps.create_write_status(text, log, onscreen)
write_status.code = "R01"
timeout = write_status.timeout
@ramps.process_code_and_params(write_status)
expect(write_status.timeout).to be > timeout
end
it "process codes and parameters R02" do
text = rand(9999999).to_s
log = rand(9999999).to_s
onscreen = false
write_status = @ramps.create_write_status(text, log, onscreen)
write_status.code = "R02"
@ramps.process_code_and_params(write_status)
expect(write_status.done).to eq(1)
end
it "process codes and parameters R03" do
text = rand(9999999).to_s
log = rand(9999999).to_s
onscreen = false
write_status = @ramps.create_write_status(text, log, onscreen)
write_status.code = "R03"
@ramps.process_code_and_params(write_status)
expect(write_status.done).to eq(1)
end
it "process codes and parameters R04" do
text = rand(9999999).to_s
log = rand(9999999).to_s
onscreen = false
write_status = @ramps.create_write_status(text, log, onscreen)
write_status.code = "R04"
timeout = write_status.timeout
time = Time.now
@ramps.process_code_and_params(write_status)
expect(write_status.timeout).to be > timeout
expect(write_status.start).to be > time
end
it "process codes and parameters other" do
text = rand(9999999).to_s
log = rand(9999999).to_s
onscreen = false
par = rand(9999999).to_s
write_status = @ramps.create_write_status(text, log, onscreen)
write_status.code = "R83"
write_status.params = par
@ramps.process_code_and_params(write_status)
expect($status.device_version).to eq(write_status.params)
end
it "prepare serial port" do
text = rand(9999999).to_s
log = rand(9999999).to_s
onscreen = false
write_status = @ramps.create_write_status(text, log, onscreen)
@ramps.prepare_serial_port(write_status)
expect(1).to eq(1)
end
it "clean serial buffer" do
@ramps.test_serial_read = rand(9999999).to_s
@ramps.clean_serial_buffer
expect(@ramps.test_serial_read).to eq("")
end
it "serial port write" do
text = rand(9999999).to_s
@ramps.serial_port_write(text)
expect(@ramps.test_serial_write).to eq(text)
end
it "emergency stop off" do
@ramps.test_serial_write = ""
$status.emergency_stop = false
@ramps.check_emergency_stop
expect(@ramps.test_serial_write).to eq("")
end
it "emergency stop on" do
@ramps.test_serial_write = ""
$status.emergency_stop = true
@ramps.check_emergency_stop
expect(@ramps.test_serial_write).to eq("E\n")
end
it "log incoming text" do
text = rand(9999999).to_s
log = rand(9999999).to_s
onscreen = false
write_status = @ramps.create_write_status(text, log, onscreen)
@ramps.log_incoming_text(write_status)
expect(1).to eq(1)
end
it "process value split two letters" do
params = HardwareInterfaceArduinoValuesReceived.new
code = "R81"
text = "ZA1 ZB2 XA3 XB4 YA5 YB6"
@ramps.process_value_split(code, params, text)
expect(params.za).to eq(1)
expect(params.zb).to eq(2)
expect(params.xa).to eq(3)
expect(params.xb).to eq(4)
expect(params.ya).to eq(5)
expect(params.yb).to eq(6)
end
it "process value split one letters" do
params = HardwareInterfaceArduinoValuesReceived.new
code = "R99"
text = "P1 V2 X3 Y4 Z5"
@ramps.process_value_split(code, params, text)
expect(params.p).to eq(1)
expect(params.v).to eq(2)
expect(params.x).to eq(3)
expect(params.y).to eq(4)
expect(params.z).to eq(5)
end
it "process value R21" do
param = -1
value = rand(999).to_i
code = "R21"
text = "P#{param} V#{value}"
params = HardwareInterfaceArduinoValuesReceived.new
@ramps.process_value_split(code, params, text)
@ramps.process_value_R21(params,code)
par_obj = @ramps_param.get_param_by_id(param)
expect(par_obj['value_ar']).to eq(value)
end
it "process value R23" do
param = -1
value = rand(999).to_i
code = "R23"
text = "P#{param} V#{value}"
params = HardwareInterfaceArduinoValuesReceived.new
@ramps.process_value_split(code, params, text)
@ramps.process_value_R23(params,code)
par_obj = @ramps_param.get_param_by_id(param)
expect(par_obj['value_db']).to eq(value)
end
it "process value R41" do
pinnr = rand(9999999).to_i
value = rand(9999999).to_i
exinf = rand(9999999).to_i
code = "R41"
text = "P#{pinnr} V#{value}"
@ramps.external_info = exinf
params = HardwareInterfaceArduinoValuesReceived.new
@ramps.process_value_split(code, params, text)
@ramps.process_value_R41(params,code)
pin_value = 0
list = $dbaccess.read_measurement_list()
list.each do |meas|
if meas['ext_info'].to_s == exinf.to_s
pin_value = meas['value']
end
end
expect(pin_value.to_i).to eq(value.to_i)
end
it "process value R81 XA" do
params = HardwareInterfaceArduinoValuesReceived.new
code = "R81"
text = " XA1 XB0 YA0 YB0 ZA0 ZB0 "
@ramps.process_value_split(code, params, text)
@ramps.process_value_R81(params,code)
expect($status.info_end_stop_x_a).to eq(true)
expect($status.info_end_stop_x_b).to eq(false)
expect($status.info_end_stop_y_a).to eq(false)
expect($status.info_end_stop_y_b).to eq(false)
expect($status.info_end_stop_z_a).to eq(false)
expect($status.info_end_stop_z_b).to eq(false)
end
it "process value R81 XB" do
params = HardwareInterfaceArduinoValuesReceived.new
code = "R81"
text = " XA0 XB1 YA0 YB0 ZA0 ZB0 "
@ramps.process_value_split(code, params, text)
@ramps.process_value_R81(params,code)
expect($status.info_end_stop_x_a).to eq(false)
expect($status.info_end_stop_x_b).to eq(true)
expect($status.info_end_stop_y_a).to eq(false)
expect($status.info_end_stop_y_b).to eq(false)
expect($status.info_end_stop_z_a).to eq(false)
expect($status.info_end_stop_z_b).to eq(false)
end
it "process value R81 YA" do
params = HardwareInterfaceArduinoValuesReceived.new
code = "R81"
text = " XA0 XB0 YA1 YB0 ZA0 ZB0 "
@ramps.process_value_split(code, params, text)
@ramps.process_value_R81(params,code)
expect($status.info_end_stop_x_a).to eq(false)
expect($status.info_end_stop_x_b).to eq(false)
expect($status.info_end_stop_y_a).to eq(true)
expect($status.info_end_stop_y_b).to eq(false)
expect($status.info_end_stop_z_a).to eq(false)
expect($status.info_end_stop_z_b).to eq(false)
end
it "process value R81 YB" do
params = HardwareInterfaceArduinoValuesReceived.new
code = "R81"
text = " XA0 XB0 YA0 YB1 ZA0 ZB0 "
@ramps.process_value_split(code, params, text)
@ramps.process_value_R81(params,code)
expect($status.info_end_stop_x_a).to eq(false)
expect($status.info_end_stop_x_b).to eq(false)
expect($status.info_end_stop_y_a).to eq(false)
expect($status.info_end_stop_y_b).to eq(true)
expect($status.info_end_stop_z_a).to eq(false)
expect($status.info_end_stop_z_b).to eq(false)
end
it "process value R81 ZA" do
params = HardwareInterfaceArduinoValuesReceived.new
code = "R81"
text = " XA0 XB0 YA0 YB0 ZA1 ZB0 "
@ramps.process_value_split(code, params, text)
@ramps.process_value_R81(params,code)
expect($status.info_end_stop_x_a).to eq(false)
expect($status.info_end_stop_x_b).to eq(false)
expect($status.info_end_stop_y_a).to eq(false)
expect($status.info_end_stop_y_b).to eq(false)
expect($status.info_end_stop_z_a).to eq(true)
expect($status.info_end_stop_z_b).to eq(false)
end
it "process value R81 ZB" do
params = HardwareInterfaceArduinoValuesReceived.new
code = "R81"
text = " XA0 XB0 YA0 YB0 ZA0 ZB1 "
@ramps.process_value_split(code, params, text)
@ramps.process_value_R81(params,code)
expect($status.info_end_stop_x_a).to eq(false)
expect($status.info_end_stop_x_b).to eq(false)
expect($status.info_end_stop_y_a).to eq(false)
expect($status.info_end_stop_y_b).to eq(false)
expect($status.info_end_stop_z_a).to eq(false)
expect($status.info_end_stop_z_b).to eq(true)
end
it "process value R82" do
x = rand(9999999).to_i
y = rand(9999999).to_i
z = rand(9999999).to_i
params = HardwareInterfaceArduinoValuesReceived.new
code = "R82"
text = "X#{x} Y#{y} Z#{z}"
@ramps.process_value_split(code, params, text)
@ramps.process_value_R82(params,code)
expect($status.info_current_x_steps).to eq(x)
expect($status.info_current_y_steps).to eq(y)
expect($status.info_current_z_steps).to eq(z)
expect($status.info_current_x ).to eq(x / @ramps_param.axis_x_steps_per_unit)
expect($status.info_current_y ).to eq(y / @ramps_param.axis_y_steps_per_unit)
expect($status.info_current_z ).to eq(z / @ramps_param.axis_z_steps_per_unit)
end
it "process value R83" do
code = "R83"
text = rand(9999999).to_s
@ramps.process_value_process_R83(code, text)
expect($status.device_version).to eq(text)
end
it "process value R99" do
code = "R99"
text = rand(9999999).to_s
@ramps.process_value_process_R99(code, text)
end
it "save pin value" do
pinnr = rand(9999999).to_i
value = rand(9999999).to_i
exinf = rand(9999999).to_i
@ramps.external_info = exinf
@ramps.save_pin_value(pinnr, value)
pin_value = 0
list = $dbaccess.read_measurement_list()
list.each do |meas|
if meas['ext_info'].to_s == exinf.to_s
pin_value = meas['value']
end
end
expect(pin_value.to_i).to eq(value.to_i)
end
it "process value process param list 1" do
# "process value R21"
param = -1
value = rand(999).to_i
code = "R21"
text = "P#{param} V#{value}"
params = HardwareInterfaceArduinoValuesReceived.new
@ramps.process_value_split(code, params, text)
@ramps.process_value_process_param_list(params,code)
par_obj = @ramps_param.get_param_by_id(param)
expect(par_obj['value_ar']).to eq(value)
end
it "process value process param list 2" do
# "process value R23"
param = -1
value = rand(999).to_i
code = "R23"
text = "P#{param} V#{value}"
params = HardwareInterfaceArduinoValuesReceived.new
@ramps.process_value_split(code, params, text)
@ramps.process_value_process_param_list(params,code)
par_obj = @ramps_param.get_param_by_id(param)
expect(par_obj['value_db']).to eq(value)
end
it "process value process param list 3" do
# "process value R41"
pinnr = rand(9999999).to_i
value = rand(9999999).to_i
exinf = rand(9999999).to_i
code = "R41"
text = "P#{pinnr} V#{value}"
@ramps.external_info = exinf
params = HardwareInterfaceArduinoValuesReceived.new
@ramps.process_value_split(code, params, text)
@ramps.process_value_process_param_list(params,code)
pin_value = 0
list = $dbaccess.read_measurement_list()
list.each do |meas|
if meas['ext_info'].to_s == exinf.to_s
pin_value = meas['value']
end
end
end
it "process value process text 1" do
# process_value_process_R83
code = "R83"
text = rand(9999999).to_s
@ramps.process_value_process_R83(code, text)
expect($status.device_version).to eq(text)
end
it "process value process text 2" do
# process_value_process_R99
code = "R99"
text = rand(9999999).to_s
@ramps.process_value_process_R99(code, text)
end
it "process value 1" do
# "process value R21"
param = -1
value = rand(999).to_i
code = "R21"
text = "P#{param} V#{value}"
@ramps.process_value(code,text)
par_obj = @ramps_param.get_param_by_id(param)
expect(par_obj['value_ar']).to eq(value)
end
it "process value 2" do
# process_value_process_R99
code = "R99"
text = rand(9999999).to_s
@ramps.process_value(code,text)
end
it "process value 3" do
params = HardwareInterfaceArduinoValuesReceived.new
code = "R81"
text = " XA0 XB0 YA0 YB0 ZA0 ZB1 "
@ramps.process_value(code,text)
expect($status.info_end_stop_x_a).to eq(false)
expect($status.info_end_stop_x_b).to eq(false)
expect($status.info_end_stop_y_a).to eq(false)
expect($status.info_end_stop_y_b).to eq(false)
expect($status.info_end_stop_z_a).to eq(false)
expect($status.info_end_stop_z_b).to eq(true)
end
it "process value named parameters 1" do
params = HardwareInterfaceArduinoValuesReceived.new
code = "R81"
text = " XA0 XB0 YA0 YB0 ZA0 ZB1 "
@ramps.process_value_split(code, params, text)
@ramps.process_value_process_named_params(params,code)
expect($status.info_end_stop_x_a).to eq(false)
expect($status.info_end_stop_x_b).to eq(false)
expect($status.info_end_stop_y_a).to eq(false)
expect($status.info_end_stop_y_b).to eq(false)
expect($status.info_end_stop_z_a).to eq(false)
expect($status.info_end_stop_z_b).to eq(true)
end
it "process value named parameters 2" do
x = rand(9999999).to_i
y = rand(9999999).to_i
z = rand(9999999).to_i
params = HardwareInterfaceArduinoValuesReceived.new
code = "R82"
text = "X#{x} Y#{y} Z#{z}"
@ramps.process_value_split(code, params, text)
@ramps.process_value_process_named_params(params,code)
expect($status.info_current_x_steps).to eq(x)
expect($status.info_current_y_steps).to eq(y)
expect($status.info_current_z_steps).to eq(z)
expect($status.info_current_x ).to eq(x / @ramps_param.axis_x_steps_per_unit)
expect($status.info_current_y ).to eq(y / @ramps_param.axis_y_steps_per_unit)
expect($status.info_current_z ).to eq(z / @ramps_param.axis_z_steps_per_unit)
end
end