Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- (defmacro demo-insertion-style [insert-form] ; change to handle string form, provided
- `(fact
- (-> (datastate :countries) ~insert-form) => irrelevant
- (datastate :countries) => (table-contains {:region "North America" :name "USA" })))
- (with-ground "Demonstrate and check the various ways to insert into datastate"
- (datastate :countries) =starts=> (empty-table :countries)
- (do
- (demo-insertion-style "Most convenient for typing"
- (insert :region "North America" :name "USA"))
- (demo-insertion-style "Passing in a map is easier for programs"
- (insert {:region "North America" :name "USA"}))
- (demo-insertion-style "Give values - columns are implicit"
- (insert ["North America" "USA"]))
- (demo-insertion-style "Separate column values and names"
- (insert [:region :name] ["North America" "USA"]))
- (demo-insertion-style "Insert defaults when no arguments"
- (insert)
- (provided
- (table-column-default :countries :region) =starts=> "North America"
- (table-column-default :countries :name) =starts=> "USA"))
- (demo-insertion-style "Alternately, use empty map to insert defaults"
- (insert {})
- (provided
- (table-column-default :countries :region) =starts=> "North America"
- (table-column-default :countries :name) =starts=> "USA"))
- (demo-insertion-style "pulling values in from another datastate"
- (insert (datastate :old-countries))
- (provided
- (datastate :old-countries) =starts=> (table-contains {:region "North America" :name "USA" })))
- (demo-insertion-style "pulling selected values in from another datastate"
- (insert [:region :name] (datastate :old-countries))
- (provided
- (datastate :old-countries) =starts=> (table-contains {:region "North America" :name "USA" })))
- ))
Add Comment
Please, Sign In to add comment