Рубин: Работа с логическими значениями - PullRequest
0 голосов
/ 16 мая 2018

TDD

gem 'minitest', '~> 5.2'
require 'minitest/autorun'
require 'minitest/pride'
require_relative 'santa'

class SantaTest < Minitest::Test

 def test_santa_fits_down_the_chimney
  santa = Santa.new
  assert santa.fits?, "Santa fits down the chimney"
 end

 def test_if_santa_eats_too_many_cookies_he_does_not_fit_down_the_chimney

  santa = Santa.new
  santa.eats_cookies
  assert santa.fits?, "He still fits"

  santa.eats_cookies
  assert santa.fits?, "It's a bit of a sqeeze"

  santa.eats_cookies
  refute santa.fits?, "Good thing his suit is stretchy or that wouldn't 
  fit in that either"
 end
end

КОД

class Santa
 attr_reader :eats_cookies

 def initialize
  @eats_cookies = eats_cookies
 end

 def fits?
  true unless @eats_cookies > 2
 else
  false
 end
end

Есть ли какие-либо указания относительно того, что я могу написать, чтобы сдать тест на последний тест?У меня проблема с организацией операторов if / then, кроме / else для прохождения теста.

Я на правильном пути или я далеко?Цени любую помощь

1 Ответ

0 голосов
/ 16 мая 2018

Я предполагаю, что вы пытаетесь сделать здесь, но я думаю, что я бы сделал что-то вроде этого:

class Santa
  attr_accessor :cookies_eaten

  def initialize
    @cookies_eaten = 0
  end

  def eat_cookies
    self.cookies_eaten += 1
  end

  def fits?
    cookies_eaten <= 2
  end
end
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...