Estoy pasando por los koans de rubí, estoy en 151 y choqué contra una pared de ladrillos.Ruby Koan 151 elevando excepciones
Aquí es el koan:
# You need to write the triangle method in the file 'triangle.rb'
require 'triangle.rb'
class AboutTriangleProject2 < EdgeCase::Koan
# The first assignment did not talk about how to handle errors.
# Let's handle that part now.
def test_illegal_triangles_throw_exceptions
assert_raise(TriangleError) do triangle(0, 0, 0) end
assert_raise(TriangleError) do triangle(3, 4, -5) end
assert_raise(TriangleError) do triangle(1, 1, 3) end
assert_raise(TriangleError) do triangle(2, 4, 2) end
end
end
Luego, en triangle.rb tenemos:
def triangle(a, b, c)
# WRITE THIS CODE
if a==b && a==c
return :equilateral
end
if (a==b && a!=c) || (a==c && a!=b) || (b==c && b!=a)
return :isosceles
end
if a!=b && a!=c && b!=c
return :scalene
end
if a==0 && b==0 && c==0
raise new.TriangleError
end
end
# Error class used in part 2. No need to change this code.
class TriangleError < StandardError
end
Estoy más allá confundido - ninguna ayuda sería muy apreciada!
EDIT: Para completar este koan, tengo que poner algo en la clase TriangleError - pero no tengo ni idea de lo
ACTUALIZACIÓN: Esto es lo que la cosa Karma koan está diciendo:
<TriangleError> exception expected but none was thrown.
¿Cuál es la pregunta aquí? –
Hola Daniel: actualicé mi pregunta para ser un poco más clara – Elliot
Aquí está mi solución mínima: https://gist.github.com/1126423 – danneu