Created
November 23, 2012 15:49
-
-
Save jbowles/4136210 to your computer and use it in GitHub Desktop.
Horizon TFSG Step, Formula, Hub First Draft
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
```clojure | |
;; Clojure Step | |
(declare step check-valid base-complete check-user) | |
(defn one-of [coll] | |
(if (seq coll) | |
[(rand-nth coll)])) | |
(defn step[] (concat (check-valid) (base-complete) (check-user))) | |
(defn check-valid[] (one-of [0 1])) | |
(defn base-complete[] (one-of ["id" "source_id" "parent_id" "table", "state_type_id"])) | |
(defn check-user[] (one-of ["product" "web analytics_data" "user_data" "occurrence_type"])) | |
(take 10 (repeatedly step)) | |
;; Clojure Formula | |
(declare formula step-one step-two check-valid base-complete check-user) | |
(defn one-of [coll] | |
(if (seq coll) | |
[(rand-nth coll)])) | |
(defn formula[] (concat (step-one) (step-two))) | |
(defn step-one[] (concat (check-valid) (base-complete))) | |
(defn step-two[] (concat (check-user) (check-valid))) | |
(defn check-valid[] (one-of [0 1])) | |
(defn base-complete[] (one-of ["id" "source_id" "parent_id" "table", "state_type_id"])) | |
(defn check-user[] (one-of ["product" "web analytics_data" "user_data" "occurrence_type"])) | |
(take 10 (repeatedly formula)) | |
;; Clojure Hub | |
(declare hub node-one node-two formula-one formula-two step-one step-two check-valid base-complete check-user) | |
(defn one-of [coll] | |
(if (seq coll) | |
[(rand-nth coll)])) | |
(defn hub[] (concat (node-one) (node-two))) | |
(defn node-one[] (concat (formula-one) (formula-two))) | |
(defn node-two[] (concat (formula-one) (formula-two))) | |
(defn formula-one[] (concat (step-one) (step-two))) | |
(defn formula-two[] (concat (step-one) (step-two))) | |
(defn step-one[] (concat (check-valid) (base-complete))) | |
(defn step-two[] (concat (check-user) (check-valid))) | |
(defn check-valid[] (one-of [0 1])) | |
(defn base-complete[] (one-of ["id" "source_id" "parent_id" "table", "state_type_id"])) | |
(defn check-user[] (one-of ["product" "web analytics_data" "user_data" "occurrence_type"])) | |
(take 10 (repeatedly hub)) | |
``` |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment