title: EUnit fails to test private functions
body: <p>I'm writing EUnit tests for Erlang code.</p>
  
  <p>I have a source module:</p>
  
  <pre><code>-module(prob_list).
  -export([intersection/2,union/2]).
  
  probability([], _Item) -&gt; false;
  probability([{First,Probability}|Rest], Item) -&gt;
      if
          First == Item -&gt; Probability;
          true          -&gt; probability(Rest, Item)
      end.
  ...
  ...
  ...
  </code></pre>
  
  <p>and a unit-test module:</p>
  
  <pre><code>-module(prob_list_tests).
  -include_lib("eunit/include/eunit.hrl").
  
  -define(TEST_LIST,[{3,0.2},{4,0.6},{5,1.0},{6,0.5}]).
  -define(TEST_LIST1,[{2,0.9},{3,0.6},{6,0.1},{8,0.5}]).
  -define(TEST_UNO_LIST,[{2,0.5}]).
  
  probability_test() -&gt; ?assertNot(prob_list:probability([],3)),
                        ?assertEqual(0.5,prob_list:probability(?TEST_UNO_LIST,2)),
                        ?assertNot(prob_list:probability(?TEST_UNO_LIST,3)),
                        ?assertEqual(0.2,prob_list:probability(?TEST_LIST,3)),
                        ?assertEqual(1.0,prob_list:probability(?TEST_LIST,5)),
                        ?assertNot(prob_list:probability(?TEST_LIST,7)).
  ...
  ...
  ...
  </code></pre>
  
  <p>When I run  <code>eunit:test(prob_list,[verbose])</code> it says: </p>
  
  <pre><code> prob_list_tests: probability_test...*failed*
  ::undef
  </code></pre>
  
  <p>but when I export <code>probability/2</code> in my <code>prob_list</code> module, everything is ok.</p>
  
  <p><strong>Is there any way to test private functions?</strong></p>