require 'forwardable'

class Robot
  extend Forwardable

  def_delegator :placement, :update!, :place
  def_delegator :placement, :report

  def initialize(args)
    @placement = args[:placement]
  end

  def move
    self.placement = placement.adjacent
  end

  def right
    self.placement = placement.rotate!(90)
  end

  def left
    self.placement = placement.rotate!(-90)
  end

  private

  attr_accessor :placement
end

require 'forwardable'

class Robot
  extend Forwardable

  def_delegator :placement, :report
  def_delegator :placement, :update, :place
  def_delegator :placement, :advance, :move

  def initialize(args)
    @placement = args[:placement]
  end

  def right
    placement.rotate(90)
  end

  def left
    placement.rotate(-90)
  end

  private

  attr_accessor :placement
end

Rewrite Robot to pass RobotTest
Rewrite Robot to pass RobotTest
