Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
6 changes: 3 additions & 3 deletions exercises/practice/triangle/.meta/generator.tpl
Original file line number Diff line number Diff line change
Expand Up @@ -3,19 +3,19 @@
triangle))

{{#test_cases.equilateral}}
(deftest equilateral?_test_{{idx}}
(deftest ^:equilateral? equilateral?_test_{{idx}}
(testing {{context}}
(is ({{#expected}}true?{{else}}false?{{/expected}} (triangle/equilateral? {{input.sides.0}} {{input.sides.1}} {{input.sides.2}})))))
{{/test_cases.equilateral}}

{{#test_cases.isosceles}}
(deftest isosceles?_test_{{idx}}
(deftest ^:isosceles? isosceles?_test_{{idx}}
(testing {{context}}
(is ({{#expected}}true?{{else}}false?{{/expected}} (triangle/isosceles? {{input.sides.0}} {{input.sides.1}} {{input.sides.2}})))))
{{/test_cases.isosceles}}

{{#test_cases.scalene}}
(deftest scalene?_test_{{idx}}
(deftest ^:scalene? scalene?_test_{{idx}}
(testing {{context}}
(is ({{#expected}}true?{{else}}false?{{/expected}} (triangle/scalene? {{input.sides.0}} {{input.sides.1}} {{input.sides.2}})))))
{{/test_cases.scalene}}
5 changes: 4 additions & 1 deletion exercises/practice/triangle/project.clj
Original file line number Diff line number Diff line change
@@ -1,4 +1,7 @@
(defproject triangle "0.1.0-SNAPSHOT"
:description "triangle exercise."
:url "https://github.com/exercism/clojure/tree/main/exercises/practice/triangle"
:dependencies [[org.clojure/clojure "1.12.0"]])
:dependencies [[org.clojure/clojure "1.12.0"]]
:test-selectors {:equilateral? :equilateral?
:isosceles? :isosceles?
:scalene? :scalene?})
42 changes: 21 additions & 21 deletions exercises/practice/triangle/test/triangle_test.clj
Original file line number Diff line number Diff line change
Expand Up @@ -2,86 +2,86 @@
(:require [clojure.test :refer [deftest testing is]]
triangle))

(deftest equilateral?_test_1
(deftest ^:equilateral? equilateral?_test_1
(testing "equilateral triangle ▶ all sides are equal"
(is (true? (triangle/equilateral? 2 2 2)))))

(deftest equilateral?_test_2
(deftest ^:equilateral? equilateral?_test_2
(testing "equilateral triangle ▶ any side is unequal"
(is (false? (triangle/equilateral? 2 3 2)))))

(deftest equilateral?_test_3
(deftest ^:equilateral? equilateral?_test_3
(testing "equilateral triangle ▶ no sides are equal"
(is (false? (triangle/equilateral? 5 4 6)))))

(deftest equilateral?_test_4
(deftest ^:equilateral? equilateral?_test_4
(testing "equilateral triangle ▶ all zero sides is not a triangle"
(is (false? (triangle/equilateral? 0 0 0)))))

(deftest equilateral?_test_5
(deftest ^:equilateral? equilateral?_test_5
(testing "equilateral triangle ▶ sides may be floats"
(is (true? (triangle/equilateral? 0.5 0.5 0.5)))))

(deftest isosceles?_test_1
(deftest ^:isosceles? isosceles?_test_1
(testing "isosceles triangle ▶ last two sides are equal"
(is (true? (triangle/isosceles? 3 4 4)))))

(deftest isosceles?_test_2
(deftest ^:isosceles? isosceles?_test_2
(testing "isosceles triangle ▶ first two sides are equal"
(is (true? (triangle/isosceles? 4 4 3)))))

(deftest isosceles?_test_3
(deftest ^:isosceles? isosceles?_test_3
(testing "isosceles triangle ▶ first and last sides are equal"
(is (true? (triangle/isosceles? 4 3 4)))))

(deftest isosceles?_test_4
(deftest ^:isosceles? isosceles?_test_4
(testing "isosceles triangle ▶ equilateral triangles are also isosceles"
(is (true? (triangle/isosceles? 4 4 4)))))

(deftest isosceles?_test_5
(deftest ^:isosceles? isosceles?_test_5
(testing "isosceles triangle ▶ no sides are equal"
(is (false? (triangle/isosceles? 2 3 4)))))

(deftest isosceles?_test_6
(deftest ^:isosceles? isosceles?_test_6
(testing "isosceles triangle ▶ first triangle inequality violation"
(is (false? (triangle/isosceles? 1 1 3)))))

(deftest isosceles?_test_7
(deftest ^:isosceles? isosceles?_test_7
(testing "isosceles triangle ▶ second triangle inequality violation"
(is (false? (triangle/isosceles? 1 3 1)))))

(deftest isosceles?_test_8
(deftest ^:isosceles? isosceles?_test_8
(testing "isosceles triangle ▶ third triangle inequality violation"
(is (false? (triangle/isosceles? 3 1 1)))))

(deftest isosceles?_test_9
(deftest ^:isosceles? isosceles?_test_9
(testing "isosceles triangle ▶ sides may be floats"
(is (true? (triangle/isosceles? 0.5 0.4 0.5)))))

(deftest scalene?_test_1
(deftest ^:scalene? scalene?_test_1
(testing "scalene triangle ▶ no sides are equal"
(is (true? (triangle/scalene? 5 4 6)))))

(deftest scalene?_test_2
(deftest ^:scalene? scalene?_test_2
(testing "scalene triangle ▶ all sides are equal"
(is (false? (triangle/scalene? 4 4 4)))))

(deftest scalene?_test_3
(deftest ^:scalene? scalene?_test_3
(testing "scalene triangle ▶ first and second sides are equal"
(is (false? (triangle/scalene? 4 4 3)))))

(deftest scalene?_test_4
(deftest ^:scalene? scalene?_test_4
(testing "scalene triangle ▶ first and third sides are equal"
(is (false? (triangle/scalene? 3 4 3)))))

(deftest scalene?_test_5
(deftest ^:scalene? scalene?_test_5
(testing "scalene triangle ▶ second and third sides are equal"
(is (false? (triangle/scalene? 4 3 3)))))

(deftest scalene?_test_6
(deftest ^:scalene? scalene?_test_6
(testing "scalene triangle ▶ may not violate triangle inequality"
(is (false? (triangle/scalene? 7 3 2)))))

(deftest scalene?_test_7
(deftest ^:scalene? scalene?_test_7
(testing "scalene triangle ▶ sides may be floats"
(is (true? (triangle/scalene? 0.5 0.4 0.6)))))
Loading