going somewhere

This commit is contained in:
didier amyot committed 2018-11-12 14:50:56 -05:00
1 parent b972e6e69f
commit 10b054db25
31 files changed
+621 -302

No files matched your search

+19 -1
View File
@@ -1,7 +1,9 @@
(ns skirmish.broker.broker-test
(:require [midje.sweet :refer :all]
[orchestra.spec.test :as st]
[skirmish.broker.broker :refer [add-account-urls]]))
[skirmish.broker.broker :refer [add-account-urls
create-user-seed-from-email
generate-amount-for-new-user]]))
(st/instrument)
@@ -13,3 +15,19 @@
:skirmish.broker.account/url "http://localhost:1604/api/1/ledger/accounts/foo"}]}]
(add-account-urls user) => ret)))
(facts "about the new users"
(fact "we should add some random amount of damp in their account"
(let [random-values (map generate-amount-for-new-user (range 10000))
sum (reduce + random-values)
mean (/ sum (count random-values))
min-data (apply min random-values)
max-data (apply max random-values)]
(int mean) => 100027427
min-data => 78422400
max-data => 120128000))
(fact "we should generate the random seed by the email"
(create-user-seed-from-email "foo@gmail.com") => 399122929
(create-user-seed-from-email "boo@gmail.com") => 1433675645))
+8 -4
View File
@@ -2,7 +2,8 @@
(:require [midje.sweet :refer :all]
[orchestra.spec.test :as st]
[datomic.api :as d]
[skirmish.broker.db :refer [create-connection]]))
[skirmish.broker.db :refer [create-connection]]
[skirmish.broker.broker :refer [create-account]]))
(st/instrument)
@@ -15,7 +16,10 @@
(fact "should be able to create new users"
(let [conn (create-conn)
email "foo@gmail.com"
_ @(d/transact conn [[:skirmish.broker.user/create-user email]])
account-id #uuid"dc0d1123-e659-4e8a-b38b-ece520f4c4d0"
account (create-account account-id :dapm)
_ @(d/transact conn [[:skirmish.broker.user/create-user email account]])
db (d/db conn)
user (d/pull db '[*] [:skirmish.broker.user/email email])]
(:skirmish.broker.user/email user) => email)));
user (d/pull db '[* {:skirmish.broker.user/accounts [*]}] [:skirmish.broker.user/email email])]
(:skirmish.broker.user/email user) => email
(-> user :skirmish.broker.user/accounts first :skirmish.broker.account/id) => account-id)))
-30
View File
@@ -1,30 +0,0 @@
(ns skirmish.cli.benchmark-test
(:require [skirmish.cli.benchmark :refer :all]
[midje.sweet :refer :all]
[clojure.core.async :as async]))
(facts "creating simple orders"
(fact "buy order"
(let [buy-order (create-requests-payload-for-security 666 (str :equity/ibm) 1)
expt {:benchmark/id 1 :price 2922 :quantity 2476 :security ":equity/ibm" :type :buy}]
buy-order => expt));;
(fact "sell order"
(let [buy-order (create-requests-payload-for-security 667 (str :equity/ibm) 2)
expt {:benchmark/id 2 :price 2740 :quantity 2516 :security ":equity/ibm" :type :sell}]
buy-order => expt)))
(facts "the utility functions"
(fact "no-more-then-n-simultaneously"
(let [simultatious (atom [])
input-chan (async/to-chan (range 10))
sleep-time #(+ (mod (+ (* 5142 %) 8765) 200) 50)
f (fn [i]
(swap! simultatious #(conj % {:id i :status :start :value 1}))
(Thread/sleep (sleep-time i))
(swap! simultatious #(conj % {:id i :status :end :value -1}))
i)
res (async/<!! (async/into [] (no-more-then-n-simultaneously f input-chan 3)))
simultatious-over-time (reductions #(+ %1 (:value %2)) 0 @simultatious)]
(apply max simultatious-over-time) => 3
(first simultatious-over-time) => 0
(last simultatious-over-time) => 0)))