Sha256: e487920fb0f462842353b0e2eeadfd7f3d3cce4dfa0f1217fba1588889ac6863

Contents?: true

Size: 1.52 KB

Versions: 193

Compression:

Stored size: 1.52 KB

Contents

module triangle;

unittest
{
import std.exception : assertThrown;

immutable int allTestsEnabled = 0;

// equilateral_triangles_have_equal_sides
{
	assert(TriangleType.equilateral == kind(2, 2, 2));
}

static if (allTestsEnabled)
{
// larger_equilateral_triangles_also_have_equal_sides
{
	assert(TriangleType.equilateral == kind(10, 10, 10));
}

// isosceles_triangles_have_last_two_sides_equal
{
	assert(TriangleType.isosceles == kind(3, 4, 4));
}

// isosceles_triangles_have_first_and_last_sides_equal
{
	assert(TriangleType.isosceles == kind(4, 3, 4));
}

// isosceles_triangles_have_first_two_sides_equal
{
	assert(TriangleType.isosceles == kind(4, 4, 3));
}

// isosceles_triangles_have_in_fact_exactly_two_sides_equal
{
	assert(TriangleType.isosceles == kind(10, 10, 2));
}

// scalene_triangles_have_no_equal_sides
{
	assert(TriangleType.scalene == kind(3, 4, 5));
}

// scalene_triangles_have_no_equal_sides_at_a_larger_scale_too
{
	assert(TriangleType.scalene == kind(10, 11, 12));
}

// scalene_triangles_have_no_equal_sides_in_descending_order_either
{
	assert(TriangleType.scalene == kind(5, 4, 2));
}

// very_small_triangles_are_legal
{
	assert(TriangleType.scalene == kind(0.4, 0.6, 0.3));
}

// triangles_with_no_size_are_illegal
{
	assertThrown(kind(0, 0, 0));
}

// triangles_with_negative_sides_are_illegal
{
	assertThrown(kind(3, 4, -5));
}

// triangles_violating_triangle_inequality_are_illegal
{
	assertThrown(kind(1, 1, 3));
}

// larger_triangles_violating_triangle_inequality_are_illegal
{
	assertThrown(kind(7, 3, 2));
}

}

}

Version data entries

193 entries across 193 versions & 1 rubygems

Version Path
trackler-2.2.1.180 tracks/d/exercises/triangle/source/triangle.d
trackler-2.2.1.179 tracks/d/exercises/triangle/source/triangle.d
trackler-2.2.1.178 tracks/d/exercises/triangle/source/triangle.d
trackler-2.2.1.177 tracks/d/exercises/triangle/source/triangle.d
trackler-2.2.1.176 tracks/d/exercises/triangle/source/triangle.d
trackler-2.2.1.175 tracks/d/exercises/triangle/source/triangle.d
trackler-2.2.1.174 tracks/d/exercises/triangle/source/triangle.d
trackler-2.2.1.173 tracks/d/exercises/triangle/source/triangle.d
trackler-2.2.1.172 tracks/d/exercises/triangle/source/triangle.d
trackler-2.2.1.171 tracks/d/exercises/triangle/source/triangle.d
trackler-2.2.1.170 tracks/d/exercises/triangle/source/triangle.d
trackler-2.2.1.169 tracks/d/exercises/triangle/source/triangle.d
trackler-2.2.1.167 tracks/d/exercises/triangle/source/triangle.d
trackler-2.2.1.166 tracks/d/exercises/triangle/source/triangle.d
trackler-2.2.1.165 tracks/d/exercises/triangle/source/triangle.d
trackler-2.2.1.164 tracks/d/exercises/triangle/source/triangle.d
trackler-2.2.1.163 tracks/d/exercises/triangle/source/triangle.d
trackler-2.2.1.162 tracks/d/exercises/triangle/source/triangle.d
trackler-2.2.1.161 tracks/d/exercises/triangle/source/triangle.d
trackler-2.2.1.160 tracks/d/exercises/triangle/source/triangle.d