File tree Expand file tree Collapse file tree 1 file changed +26
-0
lines changed Expand file tree Collapse file tree 1 file changed +26
-0
lines changed Original file line number Diff line number Diff line change
1
+ -module (flow_control ).
2
+ -export ([report_result /1 , report_result_via_case /1 ]).
3
+ -include_lib (" eunit/include/eunit.hrl" ).
4
+
5
+ % An example with case
6
+ report_result_via_case (Response ) ->
7
+ case Response of
8
+ {ok , Msg } -> report_success (Msg );
9
+ {error , Msg } -> report_failure (Msg )
10
+ end .
11
+
12
+ % An example with pattern matching
13
+ report_result ({ok , Msg }) -> report_success (Msg );
14
+ report_result ({error , Msg }) -> report_failure (Msg ).
15
+
16
+ % private/hidden functions
17
+ % Real code would do something meaningful with the argument.
18
+ report_success (_Msg ) -> success .
19
+ report_failure (_Msg ) -> failure .
20
+
21
+ % % TESTS
22
+ success_via_case_test () -> ? assertEqual (success , report_result_via_case ({ok , anything })).
23
+ failure_via_case_test () -> ? assertEqual (failure , report_result_via_case ({error , anything })).
24
+
25
+ success_via_pm_test () -> ? assertEqual (success , report_result ({ok , anything })).
26
+ failure_via_pm_test () -> ? assertEqual (failure , report_result ({error , anything })).
You can’t perform that action at this time.
0 commit comments