🚧 In development
🚧 In development
If you've reached a deadlock it's time to ask your question in the «Discussions». How ask a question correctly:
Tests are designed so that they test the solution in different ways and against different data. Often the solution works with one kind of input data but doesn't work with others. Check the «Tests» tab to figure this out, you can find hints at the error output.
It's fine. 🙆 One task in programming can be solved in many different ways. If your code passed all tests, it complies with the task conditions.
In some rare cases, the solution may be adjusted to the tests, but this can be seen immediately.
It's hard to make educational materials that will suit everyone. We do our best but there is always something to improve. If you see a material that is not clear to you, describe the problem in “Discussions”. It will be great if you'll write unclear points in the question form. Usually, we need a few days for corrections.
By the way, you can participate in courses improvement. There is a link below to the lessons course code which you can edit right in your browser.
Your exercise will be checked with these tests:
1defmodule Test do
2 use ExUnit.Case
3
4 describe "parse work" do
5 test "with valid input" do
6 text = "hello\nworld!"
7
8 assert TextParser.parse(text) == {:ok, ["hello", "world!"]}
9
10 text = "some"
11
12 assert TextParser.parse(text) == {:ok, ["some"]}
13
14 text =
15 "Lorem ipsum dolor sit amet, consectetur adipiscing elit. Integer commodo condimentum nulla sed aliquet. Donec sit amet euismod nulla, sed aliquam lacus. Maecenas dignissim ante eu gravida pellentesque. Ut hendrerit tellus ut facilisis convallis. Mauris ultrices quam in lectus condimentum semper. Aenean mi lectus, ornare quis mauris ut, convallis imperdiet erat. Proin pharetra sapien mauris, quis faucibus purus malesuada vel. Fusce sagittis et nisl quis pharetra. Duis ut erat tincidunt enim porttitor pulvinar sed sit amet ligula.\nSuspendisse potenti. Proin vel massa quam. Etiam dapibus ex in tincidunt congue. Nullam lorem enim, mollis id volutpat suscipit, dapibus vel metus. Nulla eget metus enim. Duis faucibus urna turpis, vitae auctor turpis blandit a. Proin diam eros, tempor non lorem ut, placerat placerat massa. Integer sagittis dictum ex, vestibulum lacinia metus sagittis vitae. Praesent mollis nibh sed sollicitudin iaculis. Vestibulum condimentum ut metus ut dapibus. Donec ut felis rutrum, maximus arcu sed, semper libero. Cras hendrerit diam et auctor suscipit. Nam nec lobortis nisi. Fusce ligula augue, tempor bibendum ex volutpat, luctus volutpat leo. Sed eu pretium lectus, vitae vestibulum eros.\nSed suscipit lobortis dolor, eu ultricies purus volutpat eu. Integer luctus erat eu metus cursus, in porta ex ullamcorper. Morbi et urna eget lorem gravida maximus at quis mi. Etiam auctor ultricies nunc eu convallis."
16
17 assert TextParser.parse(text) ==
18 {:ok,
19 [
20 "Lorem ipsum dolor sit amet, consectetur adipiscing elit. Integer commodo condimentum nulla sed aliquet. Donec sit amet euismod nulla, sed aliquam lacus. Maecenas dignissim ante eu gravida pellentesque. Ut hendrerit tellus ut facilisis convallis. Mauris ultrices quam in lectus condimentum semper. Aenean mi lectus, ornare quis mauris ut, convallis imperdiet erat. Proin pharetra sapien mauris, quis faucibus purus malesuada vel. Fusce sagittis et nisl quis pharetra. Duis ut erat tincidunt enim porttitor pulvinar sed sit amet ligula.",
21 "Suspendisse potenti. Proin vel massa quam. Etiam dapibus ex in tincidunt congue. Nullam lorem enim, mollis id volutpat suscipit, dapibus vel metus. Nulla eget metus enim. Duis faucibus urna turpis, vitae auctor turpis blandit a. Proin diam eros, tempor non lorem ut, placerat placerat massa. Integer sagittis dictum ex, vestibulum lacinia metus sagittis vitae. Praesent mollis nibh sed sollicitudin iaculis. Vestibulum condimentum ut metus ut dapibus. Donec ut felis rutrum, maximus arcu sed, semper libero. Cras hendrerit diam et auctor suscipit. Nam nec lobortis nisi. Fusce ligula augue, tempor bibendum ex volutpat, luctus volutpat leo. Sed eu pretium lectus, vitae vestibulum eros.",
22 "Sed suscipit lobortis dolor, eu ultricies purus volutpat eu. Integer luctus erat eu metus cursus, in porta ex ullamcorper. Morbi et urna eget lorem gravida maximus at quis mi. Etiam auctor ultricies nunc eu convallis."
23 ]}
24 end
25
26 test "with invalid input" do
27 assert TextParser.parse("") == {:error, :no_text}
28 end
29 end
30
31 test "extensions work" do
32 assert TextParser.extensions() == [".txt"]
33 end
34end
35
Teacher's solution will be available in: