Sha256: 93680f012818b5e1f6c144ccf7d90a54c1480fef270777d5e7a58bf26ac82b9c

Contents?: true

Size: 1.18 KB

Versions: 4

Compression:

Stored size: 1.18 KB

Contents

require 'minitest/autorun'
require 'geometry/triangle'

describe Geometry::Triangle do
    Triangle = Geometry::Triangle

    it 'must always be closed' do
	Triangle.new([0,0], [0,1], [1,0]).closed?.must_equal true
    end

    describe "when constructed with 3 points" do
	let(:triangle) { Triangle.new [0,0], [0,1], [1,0] }

	it "must create a scalene Triangle" do
	    triangle.must_be_instance_of Geometry::ScaleneTriangle
	    triangle.must_be_kind_of Triangle
	end

	it "must have a points accessor" do
	    triangle.points.must_equal [Point[0,0], Point[0,1], Point[1,0]]
	end

	it 'must know the max' do
	    triangle.max.must_equal Point[1,1]
	end

	it 'must know the min' do
	    triangle.min.must_equal Point[0,0]
	end

	it 'must know the min and the max' do
	    triangle.minmax.must_equal [Point[0,0], Point[1,1]]
	end
    end

    describe "when constructed with a point and a leg length" do
	let(:triangle) { Triangle.new [0,0], 1 }

	it "must create a right Triangle" do
	    triangle.must_be_instance_of Geometry::RightTriangle
	    triangle.must_be_kind_of(Triangle)
	end

	it "must have a points accessor" do
	    triangle.points.must_equal [Point[0,0], Point[0,1], Point[1,0]]
	end
    end
end

Version data entries

4 entries across 4 versions & 1 rubygems

Version Path
geometry-6.6 test/geometry/triangle.rb
geometry-6.5 test/geometry/triangle.rb
geometry-6.4 test/geometry/triangle.rb
geometry-6.3 test/geometry/triangle.rb