Commit Graph

342 Commits

Author SHA1 Message Date
Uku Taht
48b593be8e Merge pull request #99 from iamvery/tweak-enum-koan
Tweak enum koan
2016-05-04 10:18:08 +01:00
Uku Taht
43d4ac5360 Merge pull request #92 from iamvery/update-koans
Update various koans
2016-05-04 09:49:48 +01:00
Uku Taht
cda9b3526c Merge pull request #93 from iamvery/assert-receive-does-not-work
Problem with assert_receive in koans
2016-05-04 09:48:55 +01:00
Jay Hayes
c39916df2e Replace pipeline with composed function
At this point, the learner hasn't seen functions, the Enum module, or
the pipe operator, so it feels like a little much to add that here. The
reason it's needed is that the order of keys/1 and values/1 is reverse
of how it's defined. This is due to an implementation detail in Erlang's
maps. We /could/ use this as a learning opportunity rather than sorting
them, but I'm not sure what could be said about that...
2016-05-03 19:31:07 -05:00
Jay Hayes
19998b452c Add another match to illustrate that only the first is found 2016-05-03 19:22:16 -05:00
Jay Hayes
4017cfcd72 Change test data to illustrate that they /all/ must match 2016-05-03 19:21:51 -05:00
Jay Hayes
b184de5817 Remove parens from self
In my experience, the parens in this case are not idiomatic.
2016-05-03 19:11:28 -05:00
Jay Hayes
74b99676e7 Add example of anonymous function as argument 2016-05-03 19:08:51 -05:00
Jay Hayes
a808d275db Reword function pattern matching example 2016-05-03 19:08:51 -05:00
Jay Hayes
8311362f19 Reword function with default arg example 2016-05-03 19:08:51 -05:00
Jay Hayes
64d6e72b46 Add example of matching map with struct 2016-05-03 19:08:51 -05:00
Jay Hayes
8bcd7d2c94 Reword function pattern matching example 2016-05-03 19:08:51 -05:00
Jay Hayes
944f932ec5 Add example of lists not support partial match 2016-05-03 19:08:51 -05:00
Jay Hayes
12ce3ba2d3 Reword maps matching example 2016-05-03 19:08:51 -05:00
Jay Hayes
b577a24753 Extract initial example of binding before showing rebinding 2016-05-03 19:08:51 -05:00
Jay Hayes
4fda4ab9ff Reword pinning example 2016-05-03 19:08:51 -05:00
Jay Hayes
b2458bb472 Consistent one-liner for receive-blocked processes 2016-05-03 08:23:57 -05:00
Jay Hayes
1611483206 Reword some more examples 2016-05-03 08:23:57 -05:00
Jay Hayes
cc47f7c9c6 Simplify cases 2016-05-03 08:23:56 -05:00
Jay Hayes
71dfd882c6 Tweak wording 2016-05-03 08:23:23 -05:00
Jay Hayes
8ea68548fe Simplify example 2016-05-03 08:23:23 -05:00
Jay Hayes
2d7982e9a3 Remove indirection of wait/0 2016-05-03 08:23:23 -05:00
Jay Hayes
b955a4db64 Remove unneeded case 2016-05-03 08:23:23 -05:00
Jay Hayes
6772308e9a Add a little more context to example description 2016-05-03 08:23:23 -05:00
Jay Hayes
dacaf4c0b1 Actually illustrate use of receive function 2016-05-03 08:23:22 -05:00
Jay Hayes
bef1cf5028 Add new test illustrating spawning processes 2016-05-03 08:23:00 -05:00
Jay Hayes
c7c2fbcdff Auto-pin variables when replacing blanks in assert_receive 2016-05-02 20:45:03 -05:00
Jay Hayes
1b99ab0650 Pin missing values in assert_receive
Turns out the way assert_receive is implemented, the expression give the
macro is used literally as the match for the expanded receive call.
2016-05-02 16:12:03 -05:00
Uku Taht
3892c0477e Merge pull request #89 from iamvery/assert-koan-test-results
Assert koan test results
2016-04-28 11:06:24 +01:00
Felipe Sere
a5c3d910a7 Use heredoc-style for longer blocks of text in Display 2016-04-27 21:12:13 +01:00
Felipe Sere
fb56540193 Remove the last exit from Display 2016-04-27 21:06:26 +01:00
Felipe Sere
b01727f9b8 Extract colours into their own little module 2016-04-27 21:04:31 +01:00
Jay Hayes
39f09e5c30 Handle errors in tests functions as well
This allows failures to be passed back to the parent rather than the
koan process just dying and the parent stuck waiting for the result.
2016-04-27 12:14:25 -05:00
Jay Hayes
814d3db995 Refactor Tracker get/0 and summarize/0 2016-04-26 18:16:17 -05:00
Jay Hayes
93c41d6ced Move explicit exit out of display function 2016-04-26 18:10:16 -05:00
Jay Hayes
9b65177e17 Pin variable in match
This prevents accepting messages accidentally for another dying process.
2016-04-26 17:43:11 -05:00
Jay Hayes
6ae1cae4b8 Congratulate when koans are complete 2016-04-26 17:35:31 -05:00
Jay Hayes
7903923e36 Implement congratulation display 2016-04-26 17:30:41 -05:00
Jay Hayes
11f3560a2b Monitor watcher and wait for it to exit
This allows the parent process to exit when the watcher completes the
full koan run.
2016-04-26 17:30:23 -05:00
Felipe Sere
0ed061f96f Error out early if invalid paramter is provided. 2016-04-26 23:20:20 +01:00
Felipe Sere
eaf55ba897 Silence warning about unused paramters 2016-04-26 23:06:05 +01:00
Felipe Sere
135fc055ca Remove "Considering..." line 2016-04-26 23:06:05 +01:00
Felipe Sere
1357235f8a Incorporate feedback about usued elements and typos 2016-04-26 23:06:05 +01:00
Felipe Sere
ab72b0e908 Simpler progressbar and handle --koan=<KOAN> better 2016-04-26 23:06:05 +01:00
Felipe Sere
2b2240340e Add a progress bar that also displays the number of koans. 2016-04-26 23:06:05 +01:00
Felipe Sere
1625ef7d99 Hook tracker into Execute module via hook 2016-04-26 23:06:05 +01:00
Felipe Sere
c9ee4dbae0 Add an agent to keep track of completed koans 2016-04-26 23:06:05 +01:00
Alex
b69010d05c Map.fetch! -> Map.fetch
I think is better to continue use safe ```Map.fetch``` until we familiarize users with dangerous function concept.
Not every body comes from ruby background, with knowledge of ```?``` and ```!``` function notations.

test ifx
2016-04-26 21:16:43 +03:00
Uku Taht
30dcdd5efe Move blank in pin operator koan 2016-04-26 13:32:33 +01:00
Uku Taht
353ce95a1a Attempt clarifying the pin operator 2016-04-26 13:03:46 +01:00