- Define a custom error class and use it
Write a Triangle
class that accepts three arguments on initialization. Each
argument is a length of one of the three sides of the triangle.
Define an instance method, #kind
that returns, as a symbol, its
type. The valid types are:
:equilateral
:isosceles
:scalene
The #kind
method should raise a custom error, TriangleError
if the triangle
is invalid. Check out the hint below to understand what makes a triangle valid.
Write a custom error class, TriangleError
and inherit it from StandardError
.
This custom error class should be defined in the same file as the Triangle
class, inside the Triangle
class definition, like this:
# lib/triangle.rb
class Triangle
# triangle code
class TriangleError < StandardError
# triangle error code
end
end
Note: Several of the tests will be looking for the TriangleError
to be
raised. If you implement a rescue
for it, however, the tests will not
recognize that the error was raised. For purposes of this lab, therefore, you
should not include a rescue
.
A valid triangle must meet the following criteria:
-
Each side must be larger than 0.
-
The sum of the lengths of any two sides of a triangle always exceeds the length of the third side. This is a principle known as the triangle inequality.