04d8892d22 | ||
---|---|---|
.. | ||
README.md | ||
pig_latin.exs | ||
pig_latin_test.exs |
README.md
Pig Latin
Implement a program that translates from English to Pig Latin.
Pig Latin is a made-up children's language that's intended to be confusing. It obeys a few simple rules (below), but when it's spoken quickly it's really difficult for non-children (and non-native speakers) to understand.
- Rule 1: If a word begins with a vowel sound, add an "ay" sound to the end of the word.
- Rule 2: If a word begins with a consonant sound, move it to the end of the word, and then add an "ay" sound to the end of the word.
There are a few more rules for edge cases, and there are regional variants too.
See http://en.wikipedia.org/wiki/Pig_latin for more details.
Running tests
Execute the tests with:
$ elixir pig_latin_test.exs
Pending tests
In the test suites, all but the first test have been skipped.
Once you get a test passing, you can unskip the next one by
commenting out the relevant @tag :pending
with a #
symbol.
For example:
# @tag :pending
test "shouting" do
assert Bob.hey("WATCH OUT!") == "Whoa, chill out!"
end
Or, you can enable all the tests by commenting out the
ExUnit.configure
line in the test suite.
# ExUnit.configure exclude: :pending, trace: true
For more detailed information about the Elixir track, please see the help page.
Source
The Pig Latin exercise at Test First Teaching by Ultrasaurus https://github.com/ultrasaurus/test-first-teaching/blob/master/learn_ruby/pig_latin/
Submitting Incomplete Solutions
It's possible to submit an incomplete solution so you can see how others have completed the exercise.