PageRenderTime 77ms CodeModel.GetById 10ms RepoModel.GetById 0ms app.codeStats 0ms

/test/fogus/me/factors_test.clj

https://github.com/tavisrudd/trammel
Clojure | 72 lines | 65 code | 7 blank | 0 comment | 19 complexity | 3fccf02256240ff1f7a0c6bccbd031ee MD5 | raw file
  1. (ns fogus.me.factors-test
  2. (:use [trammel.core :only (contract)])
  3. (:use trammel.factors)
  4. (:use [clojure.test :only (deftest is are)]))
  5. (deftest in-test
  6. (are [expr] (true? expr)
  7. (in 5 [1 10])
  8. (in 1 2 3 4 5 6 7 1)
  9. (in 7 1 2 3 4 [5 10] 20)
  10. (in :a :b :c :a :d)
  11. (not (in 1 [2 10]))
  12. (not (in :a :b :c :d))
  13. (not (in 700 [1 700] [701 800]))))
  14. (deftest all-numbers-test
  15. (are [expr] (true? expr)
  16. (all-numbers? 1 2 3 4 5 6 7)
  17. (all-numbers? 10 20 3 4 5 6 7)
  18. (all-numbers? 1 2 3.0 4.5 1/2 1.0e7 2.0e-7 100M -66666)
  19. (apply all-numbers? (range 100))
  20. (not (all-numbers? 1 2 3 4 5 6 7 :a 9 10))
  21. (not (all-numbers? 1 2 3 nil 9 10))))
  22. (deftest all-positive-test
  23. (are [expr] (true? expr)
  24. (all-positive? 1 2 3 4 5 6 7)
  25. (all-positive? 10 20 3 4 5 6 7)
  26. (all-positive? 1 2 3.0 4.5 1/2 1.0e7 2.0e-7 100M 66666)
  27. (apply all-positive? (range 1 100))
  28. (not (all-positive? 1 2 3 4 5 6 7 :a 9 10))
  29. (not (all-positive? 1 2 3 nil 9 10))
  30. (not (all-positive? 0 1 2 3 9 10))))
  31. (deftest all-negative-test
  32. (are [expr] (true? expr)
  33. (all-negative? -1 -2 -3 -4 -5 -6 -7)
  34. (all-negative? -10)
  35. (all-negative? -1 -2 -3.0 -4.5 -1/2 -1.0e7 -2.0e-7 -100M -66666 -0.0)
  36. (apply all-negative? (map - (range 1 100)))
  37. (not (all-negative? 1 2 3 4 5 6 7 :a 9 10))
  38. (not (all-negative? 1 2 3 nil 9 10))
  39. (not (all-negative? 0 1 2 3 9 10))))
  40. (deftest anything-test
  41. (are [expr] (true? expr)
  42. (anything 1)
  43. (anything #{})
  44. (anything nil)
  45. (anything false)))
  46. (deftest truthy-test
  47. (are [expr] (true? expr)
  48. (truthy 1)
  49. (truthy #{})
  50. (truthy #(nil? 1))
  51. (truthy [])
  52. (truthy "")
  53. (truthy (Boolean. false))
  54. (not (truthy nil))
  55. (not (truthy false))))
  56. (deftest falsey-test
  57. (are [expr] (true? expr)
  58. (not (falsey 1))
  59. (not (falsey #{}))
  60. (not (falsey #(nil? 1)))
  61. (not (falsey []))
  62. (not (falsey ""))
  63. (not (falsey (Boolean. false)))
  64. (falsey nil)
  65. (falsey false)))