forked from 4clojure/4clojure
/
core.clj
35 lines (29 loc) · 792 Bytes
/
core.clj
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
(ns foreclojure.test.core
(:use [foreclojure.core]
[clojure.test]
[foreclojure.users]
[foreclojure.problems]
[foreclojure.mongo]))
(prepare-mongo)
(defn users-solved []
(reduce #(if-let [v (%1 %2)]
(assoc %1 %2 (inc v))
(assoc %1 %2 1))
{}
(flatten
(map :solved (get-users)))))
(defn problems-solved []
(into
{}
(filter
#(-> % second zero? not)
(reduce
#(assoc %1 (:_id %2) (:times-solved %2))
{}
(get-problem-list)))))
(deftest db-integrity
;Commenting out this breaking test for now
;eventually we need to work out a test database for running these
;tests against
;(is (= (users-solved) (problems-solved)) "DB integrity check - problems solved")
)