diff --git a/haskell/06-complex/complex.hs b/haskell/06-complex/complex.hs index 54872cd..6236379 100644 --- a/haskell/06-complex/complex.hs +++ b/haskell/06-complex/complex.hs @@ -31,93 +31,92 @@ instance (Fractional a, Floating a) => Fractional (Complex a) where tests :: Test tests = TestList - [ - -- Test.HUnit.TestCase (assertEqual "Show 1+2i" "1+2i" (show $ Complex 1 2)), - -- Test.HUnit.TestCase (assertEqual "Show 1" "1" (show $ Complex 1 0)), - -- Test.HUnit.TestCase (assertEqual "Show i" "i" (show i)), - -- Test.HUnit.TestCase (assertEqual "Show 5i" "5i" (show $ Complex 0 5)), - -- Test.HUnit.TestCase (assertEqual "Show 0" "0" (show $ Complex 0 0)), - -- Test.HUnit.TestCase (assertEqual "Compare Equal" True (Complex 2 3 == Complex 2 3)), - -- Test.HUnit.TestCase (assertEqual "Compare Real Not Equal" False (Complex 1 3 == Complex 2 3)), - -- Test.HUnit.TestCase - -- (assertEqual "Compare Imag Not Equal" False (Complex 2 4 == Complex 2 3)), - -- Test.HUnit.TestCase - -- (assertEqual "Compare Not Equal" False (Complex 2 3 /= Complex 2 3)), - -- Test.HUnit.TestCase - -- ( assertEqual - -- "Addition 1" - -- (Complex 6.0 8.0) - -- (Complex 2.0 3.0 + Complex 4.0 5.0) - -- ), - -- Test.HUnit.TestCase - -- ( assertEqual - -- "Addition 2" - -- (Complex 2.0 3.0) - -- (Complex 0.0 3.0 + Complex 2.0 0.0) - -- ), - -- Test.HUnit.TestCase - -- ( assertEqual - -- "Subtraction 1" - -- (Complex 4.0 (-4.0)) - -- (Complex 7.0 2.0 - Complex 3.0 6.0) - -- ), - -- Test.HUnit.TestCase - -- ( assertEqual - -- "Subtraction 2" - -- (Complex 4.0 2.0) - -- (Complex 5.0 4.0 - Complex 1.0 2.0) - -- ), - -- Test.HUnit.TestCase - -- ( assertEqual - -- "Negation" - -- (Complex (-7.0) (-2.0)) - -- (negate (Complex 7.0 2.0)) - -- ), - -- Test.HUnit.TestCase - -- ( assertEqual - -- "Multiplication 1" - -- (Complex (-5.0) 10.0) - -- (Complex 1.0 2.0 * Complex 3.0 4.0) - -- ), - -- Test.HUnit.TestCase - -- ( assertEqual - -- "Multiplication 2" - -- (Complex 5.0 1.0) - -- (Complex 2.0 3.0 * Complex 1.0 (-1.0)) - -- ), - -- Test.HUnit.TestCase - -- ( assertEqual - -- "Multiplication 3" - -- (Complex 11.0 (-10.0)) - -- (Complex 4.0 1.0 * Complex 2.0 (-3.0)) - -- ), - -- Test.HUnit.TestCase - -- ( assertEqual - -- "Multiplication 4" - -- (Complex 5.0 12.0) - -- (Complex 3.0 2.0 * Complex 3.0 2.0) - -- ), - -- Test.HUnit.TestCase - -- ( assertEqual - -- "Magnitude 1" - -- (Complex 5.0 0.0) - -- (abs (Complex 3.0 4.0)) - -- ), - -- Test.HUnit.TestCase - -- ( assertEqual - -- "Magnitude 2" - -- (Complex (sqrt 2.0) 0.0) - -- (abs (Complex 1.0 (-1.0))) - -- ), - -- Test.HUnit.TestCase - -- ( assertEqual - -- "Magnitude 3" - -- (Complex 5.0 0.0) - -- (abs (Complex 0.0 5.0)) - -- ), - -- TestCase (assertEqual "Conjugate of 3+4i" (Complex 3 (-4)) (conj (Complex 3 4))), - -- TestCase (assertEqual "Conjugate of 5-i" (Complex 5 1) (conj (Complex 5 (-1)))), - -- TestCase (assertEqual "Conjugate of -2+3i" (Complex (-2) (-3)) (conj (Complex (-2) 3))) + [ Test.HUnit.TestCase (assertEqual "Show 1+2i" "1+2i" (show $ Complex 1 2)), + Test.HUnit.TestCase (assertEqual "Show 1" "1" (show $ Complex 1 0)), + Test.HUnit.TestCase (assertEqual "Show i" "i" (show i)), + Test.HUnit.TestCase (assertEqual "Show 5i" "5i" (show $ Complex 0 5)), + Test.HUnit.TestCase (assertEqual "Show 0" "0" (show $ Complex 0 0)), + Test.HUnit.TestCase (assertEqual "Compare Equal" True (Complex 2 3 == Complex 2 3)), + Test.HUnit.TestCase (assertEqual "Compare Real Not Equal" False (Complex 1 3 == Complex 2 3)), + Test.HUnit.TestCase + (assertEqual "Compare Imag Not Equal" False (Complex 2 4 == Complex 2 3)), + Test.HUnit.TestCase + (assertEqual "Compare Not Equal" False (Complex 2 3 /= Complex 2 3)), + Test.HUnit.TestCase + ( assertEqual + "Addition 1" + (Complex 6.0 8.0) + (Complex 2.0 3.0 + Complex 4.0 5.0) + ), + Test.HUnit.TestCase + ( assertEqual + "Addition 2" + (Complex 2.0 3.0) + (Complex 0.0 3.0 + Complex 2.0 0.0) + ), + Test.HUnit.TestCase + ( assertEqual + "Subtraction 1" + (Complex 4.0 (-4.0)) + (Complex 7.0 2.0 - Complex 3.0 6.0) + ), + Test.HUnit.TestCase + ( assertEqual + "Subtraction 2" + (Complex 4.0 2.0) + (Complex 5.0 4.0 - Complex 1.0 2.0) + ), + Test.HUnit.TestCase + ( assertEqual + "Negation" + (Complex (-7.0) (-2.0)) + (negate (Complex 7.0 2.0)) + ), + Test.HUnit.TestCase + ( assertEqual + "Multiplication 1" + (Complex (-5.0) 10.0) + (Complex 1.0 2.0 * Complex 3.0 4.0) + ), + Test.HUnit.TestCase + ( assertEqual + "Multiplication 2" + (Complex 5.0 1.0) + (Complex 2.0 3.0 * Complex 1.0 (-1.0)) + ), + Test.HUnit.TestCase + ( assertEqual + "Multiplication 3" + (Complex 11.0 (-10.0)) + (Complex 4.0 1.0 * Complex 2.0 (-3.0)) + ), + Test.HUnit.TestCase + ( assertEqual + "Multiplication 4" + (Complex 5.0 12.0) + (Complex 3.0 2.0 * Complex 3.0 2.0) + ), + Test.HUnit.TestCase + ( assertEqual + "Magnitude 1" + (Complex 5.0 0.0) + (abs (Complex 3.0 4.0)) + ), + Test.HUnit.TestCase + ( assertEqual + "Magnitude 2" + (Complex (sqrt 2.0) 0.0) + (abs (Complex 1.0 (-1.0))) + ), + Test.HUnit.TestCase + ( assertEqual + "Magnitude 3" + (Complex 5.0 0.0) + (abs (Complex 0.0 5.0)) + ), + TestCase (assertEqual "Conjugate of 3+4i" (Complex 3 (-4)) (conj (Complex 3 4))), + TestCase (assertEqual "Conjugate of 5-i" (Complex 5 1) (conj (Complex 5 (-1)))), + TestCase (assertEqual "Conjugate of -2+3i" (Complex (-2) (-3)) (conj (Complex (-2) 3))) ] main :: IO ()