# -*- coding: utf-8 -*- require 'spec_helper' require_relative 'shared/block_examples' # rubocop:disable EmptyLines, LineLength describe RubyToBlock::Block, 'Smalrubot blocks', to_blocks: true do %w(s1 v3).each do |smalrubot_version| describe smalrubot_version do parts = <<-EOS require "smalruby" init_hardware car1 = Character.new(costume: "car1.png", x: 0, y: 0, angle: 0) car1.on(:start) do smalrubot_#{smalrubot_version}.forward smalrubot_#{smalrubot_version}.backward smalrubot_#{smalrubot_version}.turn_left smalrubot_#{smalrubot_version}.turn_right smalrubot_#{smalrubot_version}.stop smalrubot_#{smalrubot_version}.forward(sec: 0.5) smalrubot_#{smalrubot_version}.backward(sec: 0.4) smalrubot_#{smalrubot_version}.turn_left(sec: 0.3) smalrubot_#{smalrubot_version}.turn_right(sec: 0.2) smalrubot_#{smalrubot_version}.stop(sec: 0.1) p(smalrubot_#{smalrubot_version}.left_sensor_value) p(smalrubot_#{smalrubot_version}.right_sensor_value) smalrubot_#{smalrubot_version}.turn_on_left_led smalrubot_#{smalrubot_version}.turn_off_right_led p(smalrubot_#{smalrubot_version}.left_dc_motor_power_ratio) p(smalrubot_#{smalrubot_version}.right_dc_motor_power_ratio) smalrubot_#{smalrubot_version}.left_dc_motor_power_ratio = 10 smalrubot_#{smalrubot_version}.right_dc_motor_power_ratio = 90 end car1.smalrubot_#{smalrubot_version}.forward car1.smalrubot_#{smalrubot_version}.backward car1.smalrubot_#{smalrubot_version}.turn_left car1.smalrubot_#{smalrubot_version}.turn_right car1.smalrubot_#{smalrubot_version}.stop car1.smalrubot_#{smalrubot_version}.forward(sec: 0.5) car1.smalrubot_#{smalrubot_version}.backward(sec: 0.4) car1.smalrubot_#{smalrubot_version}.turn_left(sec: 0.3) car1.smalrubot_#{smalrubot_version}.turn_right(sec: 0.2) car1.smalrubot_#{smalrubot_version}.stop(sec: 0.1) p(car1.smalrubot_#{smalrubot_version}.left_sensor_value) p(car1.smalrubot_#{smalrubot_version}.right_sensor_value) car1.smalrubot_#{smalrubot_version}.turn_on_left_led car1.smalrubot_#{smalrubot_version}.turn_off_right_led p(car1.smalrubot_#{smalrubot_version}.left_dc_motor_power_ratio) p(car1.smalrubot_#{smalrubot_version}.right_dc_motor_power_ratio) car1.smalrubot_#{smalrubot_version}.left_dc_motor_power_ratio = 10 car1.smalrubot_#{smalrubot_version}.right_dc_motor_power_ratio = 90 EOS describe compact_source_code(parts) do _parts = parts let(:data) { _parts } it '結果が正しいこと' do should eq_block_xml(<<-XML) car1 forward backward turn_left turn_right stop forward 0.5 backward 0.4 turn_left 0.3 turn_right 0.2 stop 0.1 left right left turn_on right turn_off left right left 10 right 90 forward backward turn_left turn_right stop forward 0.5 backward 0.4 turn_left 0.3 turn_right 0.2 stop 0.1 left right left turn_on right turn_off left right left 10 right 90 XML end end end end end