diff --git a/.coverage b/.coverage new file mode 100644 index 0000000000000000000000000000000000000000..8461356c0055f5adc8967d1563b6410cc05cde44 Binary files /dev/null and b/.coverage differ diff --git a/htmlcov/index.html b/htmlcov/index.html index 0fc677b48de288e5533b9a04335a6da6af2ca784..15f553fdafc80c6d5c34d6f5f06039fa7fe5e039 100644 --- a/htmlcov/index.html +++ b/htmlcov/index.html @@ -93,7 +93,7 @@ <div class="content"> <p> <a class="nav" href="https://coverage.readthedocs.io">coverage.py v5.1</a>, - created at 2021-03-16 18:01 + created at 2021-03-16 20:38 </p> </div> </div> diff --git a/htmlcov/status.json b/htmlcov/status.json index 3bdbcde870815cbe620bdff444f58dc88f7dbe4c..6e489f1bbd59ab62c83a4bba5c19ea97c093e12c 100644 --- a/htmlcov/status.json +++ b/htmlcov/status.json @@ -1 +1 @@ -{"format":2,"version":"5.1","globals":"6f970bb3fd818c0086bb8745517713d8","files":{"sentiment_py":{"hash":"b80045c1e80c9b6b65165d4976b72548","index":{"nums":[1,269,0,85,104,9,43],"html_filename":"sentiment_py.html","relative_filename":"sentiment.py"}},"tests_py":{"hash":"9efee8c6f89bda3badab9e1807a6b3dd","index":{"nums":[1,95,0,1,2,1,1],"html_filename":"tests_py.html","relative_filename":"tests.py"}}}} \ No newline at end of file +{"format":2,"version":"5.1","globals":"6f970bb3fd818c0086bb8745517713d8","files":{"sentiment_py":{"hash":"b80045c1e80c9b6b65165d4976b72548","index":{"nums":[1,269,0,85,104,9,43],"html_filename":"sentiment_py.html","relative_filename":"sentiment.py"}},"tests_py":{"hash":"4b0cb5acfe4ac9eee3f1aa789b8d76ae","index":{"nums":[1,95,0,1,2,1,1],"html_filename":"tests_py.html","relative_filename":"tests.py"}}}} \ No newline at end of file diff --git a/htmlcov/tests_py.html b/htmlcov/tests_py.html index 2ee63b75c94565a2e1fadf745c4ab838a20d1467..64f6856efe8f7e79f5e110b640c0dc3b3ba3bf19 100644 --- a/htmlcov/tests_py.html +++ b/htmlcov/tests_py.html @@ -73,172 +73,174 @@ <p id="t19" class="run"><span class="n"><a href="#t19">19</a></span><span class="t"> <span class="nam">unique_tokens</span> <span class="op">=</span> <span class="nam">set</span><span class="op">(</span><span class="nam">sentiment</span><span class="op">.</span><span class="nam">get_all_tokens</span><span class="op">(</span><span class="nam">list_reviews</span><span class="op">)</span><span class="op">)</span> </span><span class="r"></span></p> <p id="t20" class="run"><span class="n"><a href="#t20">20</a></span><span class="t"> <span class="nam">self</span><span class="op">.</span><span class="nam">assertEqual</span><span class="op">(</span><span class="num">75</span><span class="op">,</span> <span class="nam">len</span><span class="op">(</span><span class="nam">unique_tokens</span><span class="op">)</span><span class="op">)</span> </span><span class="r"></span></p> <p id="t21" class="pln"><span class="n"><a href="#t21">21</a></span><span class="t"> </span><span class="r"></span></p> - <p id="t22" class="run"><span class="n"><a href="#t22">22</a></span><span class="t"><span class="key">class</span> <span class="nam">TestComputeDocumentFrequency</span><span class="op">(</span><span class="nam">unittest</span><span class="op">.</span><span class="nam">TestCase</span><span class="op">)</span><span class="op">:</span> </span><span class="r"></span></p> - <p id="t23" class="run"><span class="n"><a href="#t23">23</a></span><span class="t"> <span class="key">def</span> <span class="nam">test_frequency_of_three</span><span class="op">(</span><span class="nam">self</span><span class="op">)</span><span class="op">:</span> </span><span class="r"></span></p> - <p id="t24" class="run"><span class="n"><a href="#t24">24</a></span><span class="t"> <span class="nam">list_reviews</span> <span class="op">=</span> <span class="op">[</span><span class="str">'+ absolutely detestable'</span><span class="op">,</span> <span class="str">'- bad bad bad'</span><span class="op">]</span> </span><span class="r"></span></p> - <p id="t25" class="run"><span class="n"><a href="#t25">25</a></span><span class="t"> <span class="nam">all_tokens</span> <span class="op">=</span> <span class="nam">sentiment</span><span class="op">.</span><span class="nam">get_all_tokens</span><span class="op">(</span><span class="nam">list_reviews</span><span class="op">)</span> </span><span class="r"></span></p> - <p id="t26" class="run"><span class="n"><a href="#t26">26</a></span><span class="t"> <span class="nam">unique_tokens</span> <span class="op">=</span> <span class="nam">set</span><span class="op">(</span><span class="nam">all_tokens</span><span class="op">)</span> </span><span class="r"></span></p> - <p id="t27" class="run"><span class="n"><a href="#t27">27</a></span><span class="t"> <span class="nam">token_map</span> <span class="op">=</span> <span class="nam">sentiment</span><span class="op">.</span><span class="nam">get_token_map</span><span class="op">(</span><span class="nam">all_tokens</span><span class="op">,</span> <span class="nam">list_reviews</span><span class="op">)</span> </span><span class="r"></span></p> - <p id="t28" class="run"><span class="n"><a href="#t28">28</a></span><span class="t"> <span class="nam">frequency</span><span class="op">,</span> <span class="nam">token</span> <span class="op">=</span> <span class="nam">sentiment</span><span class="op">.</span><span class="nam">prompt_for_token_frequency</span><span class="op">(</span><span class="nam">unique_tokens</span><span class="op">,</span> <span class="nam">token_map</span><span class="op">,</span> <span class="str">'bad'</span><span class="op">)</span> </span><span class="r"></span></p> - <p id="t29" class="pln"><span class="n"><a href="#t29">29</a></span><span class="t"> </span><span class="r"></span></p> - <p id="t30" class="run"><span class="n"><a href="#t30">30</a></span><span class="t"> <span class="nam">self</span><span class="op">.</span><span class="nam">assertEqual</span><span class="op">(</span><span class="num">3</span><span class="op">,</span> <span class="nam">frequency</span><span class="op">)</span> </span><span class="r"></span></p> - <p id="t31" class="run"><span class="n"><a href="#t31">31</a></span><span class="t"> <span class="nam">self</span><span class="op">.</span><span class="nam">assertEqual</span><span class="op">(</span><span class="str">'bad'</span><span class="op">,</span> <span class="nam">token</span><span class="op">)</span> </span><span class="r"></span></p> - <p id="t32" class="pln"><span class="n"><a href="#t32">32</a></span><span class="t"> </span><span class="r"></span></p> - <p id="t33" class="run"><span class="n"><a href="#t33">33</a></span><span class="t"> <span class="key">def</span> <span class="nam">test_frequency_of_zero</span><span class="op">(</span><span class="nam">self</span><span class="op">)</span><span class="op">:</span> </span><span class="r"></span></p> - <p id="t34" class="run"><span class="n"><a href="#t34">34</a></span><span class="t"> <span class="nam">list_reviews</span> <span class="op">=</span> <span class="op">[</span><span class="str">'+ absolutely detestable'</span><span class="op">,</span> <span class="str">'- bad bad bad'</span><span class="op">]</span> </span><span class="r"></span></p> - <p id="t35" class="run"><span class="n"><a href="#t35">35</a></span><span class="t"> <span class="nam">all_tokens</span> <span class="op">=</span> <span class="nam">sentiment</span><span class="op">.</span><span class="nam">get_all_tokens</span><span class="op">(</span><span class="nam">list_reviews</span><span class="op">)</span> </span><span class="r"></span></p> - <p id="t36" class="run"><span class="n"><a href="#t36">36</a></span><span class="t"> <span class="nam">unique_tokens</span> <span class="op">=</span> <span class="nam">set</span><span class="op">(</span><span class="nam">all_tokens</span><span class="op">)</span> </span><span class="r"></span></p> - <p id="t37" class="run"><span class="n"><a href="#t37">37</a></span><span class="t"> <span class="nam">token_map</span> <span class="op">=</span> <span class="nam">sentiment</span><span class="op">.</span><span class="nam">get_token_map</span><span class="op">(</span><span class="nam">all_tokens</span><span class="op">,</span> <span class="nam">list_reviews</span><span class="op">)</span> </span><span class="r"></span></p> - <p id="t38" class="run"><span class="n"><a href="#t38">38</a></span><span class="t"> <span class="nam">frequency</span><span class="op">,</span> <span class="nam">token</span> <span class="op">=</span> <span class="nam">sentiment</span><span class="op">.</span><span class="nam">prompt_for_token_frequency</span><span class="op">(</span><span class="nam">unique_tokens</span><span class="op">,</span> <span class="nam">token_map</span><span class="op">,</span> <span class="str">'good'</span><span class="op">)</span> </span><span class="r"></span></p> - <p id="t39" class="pln"><span class="n"><a href="#t39">39</a></span><span class="t"> </span><span class="r"></span></p> - <p id="t40" class="run"><span class="n"><a href="#t40">40</a></span><span class="t"> <span class="nam">self</span><span class="op">.</span><span class="nam">assertEqual</span><span class="op">(</span><span class="num">0</span><span class="op">,</span> <span class="nam">frequency</span><span class="op">)</span> </span><span class="r"></span></p> - <p id="t41" class="run"><span class="n"><a href="#t41">41</a></span><span class="t"> <span class="nam">self</span><span class="op">.</span><span class="nam">assertEqual</span><span class="op">(</span><span class="str">'good'</span><span class="op">,</span> <span class="nam">token</span><span class="op">)</span> </span><span class="r"></span></p> - <p id="t42" class="pln"><span class="n"><a href="#t42">42</a></span><span class="t"> </span><span class="r"></span></p> - <p id="t43" class="run"><span class="n"><a href="#t43">43</a></span><span class="t"> <span class="key">def</span> <span class="nam">test_frequency_of_seven</span><span class="op">(</span><span class="nam">self</span><span class="op">)</span><span class="op">:</span> </span><span class="r"></span></p> - <p id="t44" class="run"><span class="n"><a href="#t44">44</a></span><span class="t"> <span class="nam">list_reviews</span> <span class="op">=</span> <span class="op">[</span><span class="str">'+ absolutely detestable ; would not watch again'</span><span class="op">,</span> </span><span class="r"></span></p> - <p id="t45" class="pln"><span class="n"><a href="#t45">45</a></span><span class="t"> <span class="str">'- a series of escapades demonstrating the adage that what is good for the goose is also good for the gander , some of which occasionally amuses but none of which amounts to much of a story .'</span><span class="op">,</span> </span><span class="r"></span></p> - <p id="t46" class="pln"><span class="n"><a href="#t46">46</a></span><span class="t"> <span class="str">'+ this quiet , introspective and entertaining independent is worth seeking .'</span><span class="op">,</span> </span><span class="r"></span></p> - <p id="t47" class="pln"><span class="n"><a href="#t47">47</a></span><span class="t"> <span class="str">'- even fans of ismail merchant \'s work , i suspect , would have a hard time sitting through this one .'</span><span class="op">,</span> </span><span class="r"></span></p> - <p id="t48" class="pln"><span class="n"><a href="#t48">48</a></span><span class="t"> <span class="str">'+ a positively thrilling combination of ethnography and all the intrigue , betrayal , deceit and murder of a shakespearean tragedy or a juicy soap opera .'</span><span class="op">,</span> </span><span class="r"></span></p> - <p id="t49" class="pln"><span class="n"><a href="#t49">49</a></span><span class="t"> <span class="str">'- aggressive self-glorification and a manipulative whitewash .'</span><span class="op">]</span> </span><span class="r"></span></p> - <p id="t50" class="pln"><span class="n"><a href="#t50">50</a></span><span class="t"> </span><span class="r"></span></p> - <p id="t51" class="run"><span class="n"><a href="#t51">51</a></span><span class="t"> <span class="nam">all_tokens</span> <span class="op">=</span> <span class="nam">sentiment</span><span class="op">.</span><span class="nam">get_all_tokens</span><span class="op">(</span><span class="nam">list_reviews</span><span class="op">)</span> </span><span class="r"></span></p> - <p id="t52" class="run"><span class="n"><a href="#t52">52</a></span><span class="t"> <span class="nam">unique_tokens</span> <span class="op">=</span> <span class="nam">set</span><span class="op">(</span><span class="nam">all_tokens</span><span class="op">)</span> </span><span class="r"></span></p> - <p id="t53" class="run"><span class="n"><a href="#t53">53</a></span><span class="t"> <span class="nam">token_map</span> <span class="op">=</span> <span class="nam">sentiment</span><span class="op">.</span><span class="nam">get_token_map</span><span class="op">(</span><span class="nam">all_tokens</span><span class="op">,</span> <span class="nam">list_reviews</span><span class="op">)</span> </span><span class="r"></span></p> - <p id="t54" class="run"><span class="n"><a href="#t54">54</a></span><span class="t"> <span class="nam">frequency</span><span class="op">,</span> <span class="nam">token</span> <span class="op">=</span> <span class="nam">sentiment</span><span class="op">.</span><span class="nam">prompt_for_token_frequency</span><span class="op">(</span><span class="nam">unique_tokens</span><span class="op">,</span> <span class="nam">token_map</span><span class="op">,</span> <span class="str">'a'</span><span class="op">)</span> </span><span class="r"></span></p> - <p id="t55" class="pln"><span class="n"><a href="#t55">55</a></span><span class="t"> </span><span class="r"></span></p> - <p id="t56" class="run"><span class="n"><a href="#t56">56</a></span><span class="t"> <span class="nam">self</span><span class="op">.</span><span class="nam">assertEqual</span><span class="op">(</span><span class="num">7</span><span class="op">,</span> <span class="nam">frequency</span><span class="op">)</span> </span><span class="r"></span></p> - <p id="t57" class="run"><span class="n"><a href="#t57">57</a></span><span class="t"> <span class="nam">self</span><span class="op">.</span><span class="nam">assertEqual</span><span class="op">(</span><span class="str">'a'</span><span class="op">,</span> <span class="nam">token</span><span class="op">)</span> </span><span class="r"></span></p> - <p id="t58" class="pln"><span class="n"><a href="#t58">58</a></span><span class="t"> </span><span class="r"></span></p> + <p id="t22" class="pln"><span class="n"><a href="#t22">22</a></span><span class="t"> </span><span class="r"></span></p> + <p id="t23" class="run"><span class="n"><a href="#t23">23</a></span><span class="t"><span class="key">class</span> <span class="nam">TestComputeDocumentFrequency</span><span class="op">(</span><span class="nam">unittest</span><span class="op">.</span><span class="nam">TestCase</span><span class="op">)</span><span class="op">:</span> </span><span class="r"></span></p> + <p id="t24" class="run"><span class="n"><a href="#t24">24</a></span><span class="t"> <span class="key">def</span> <span class="nam">test_frequency_of_three</span><span class="op">(</span><span class="nam">self</span><span class="op">)</span><span class="op">:</span> </span><span class="r"></span></p> + <p id="t25" class="run"><span class="n"><a href="#t25">25</a></span><span class="t"> <span class="nam">list_reviews</span> <span class="op">=</span> <span class="op">[</span><span class="str">'+ absolutely detestable'</span><span class="op">,</span> <span class="str">'- bad bad bad'</span><span class="op">]</span> </span><span class="r"></span></p> + <p id="t26" class="run"><span class="n"><a href="#t26">26</a></span><span class="t"> <span class="nam">all_tokens</span> <span class="op">=</span> <span class="nam">sentiment</span><span class="op">.</span><span class="nam">get_all_tokens</span><span class="op">(</span><span class="nam">list_reviews</span><span class="op">)</span> </span><span class="r"></span></p> + <p id="t27" class="run"><span class="n"><a href="#t27">27</a></span><span class="t"> <span class="nam">unique_tokens</span> <span class="op">=</span> <span class="nam">set</span><span class="op">(</span><span class="nam">all_tokens</span><span class="op">)</span> </span><span class="r"></span></p> + <p id="t28" class="run"><span class="n"><a href="#t28">28</a></span><span class="t"> <span class="nam">token_map</span> <span class="op">=</span> <span class="nam">sentiment</span><span class="op">.</span><span class="nam">get_token_map</span><span class="op">(</span><span class="nam">all_tokens</span><span class="op">,</span> <span class="nam">list_reviews</span><span class="op">)</span> </span><span class="r"></span></p> + <p id="t29" class="run"><span class="n"><a href="#t29">29</a></span><span class="t"> <span class="nam">frequency</span><span class="op">,</span> <span class="nam">token</span> <span class="op">=</span> <span class="nam">sentiment</span><span class="op">.</span><span class="nam">prompt_for_token_frequency</span><span class="op">(</span><span class="nam">unique_tokens</span><span class="op">,</span> <span class="nam">token_map</span><span class="op">,</span> <span class="str">'bad'</span><span class="op">)</span> </span><span class="r"></span></p> + <p id="t30" class="pln"><span class="n"><a href="#t30">30</a></span><span class="t"> </span><span class="r"></span></p> + <p id="t31" class="run"><span class="n"><a href="#t31">31</a></span><span class="t"> <span class="nam">self</span><span class="op">.</span><span class="nam">assertEqual</span><span class="op">(</span><span class="num">3</span><span class="op">,</span> <span class="nam">frequency</span><span class="op">)</span> </span><span class="r"></span></p> + <p id="t32" class="run"><span class="n"><a href="#t32">32</a></span><span class="t"> <span class="nam">self</span><span class="op">.</span><span class="nam">assertEqual</span><span class="op">(</span><span class="str">'bad'</span><span class="op">,</span> <span class="nam">token</span><span class="op">)</span> </span><span class="r"></span></p> + <p id="t33" class="pln"><span class="n"><a href="#t33">33</a></span><span class="t"> </span><span class="r"></span></p> + <p id="t34" class="run"><span class="n"><a href="#t34">34</a></span><span class="t"> <span class="key">def</span> <span class="nam">test_frequency_of_zero</span><span class="op">(</span><span class="nam">self</span><span class="op">)</span><span class="op">:</span> </span><span class="r"></span></p> + <p id="t35" class="run"><span class="n"><a href="#t35">35</a></span><span class="t"> <span class="nam">list_reviews</span> <span class="op">=</span> <span class="op">[</span><span class="str">'+ absolutely detestable'</span><span class="op">,</span> <span class="str">'- bad bad bad'</span><span class="op">]</span> </span><span class="r"></span></p> + <p id="t36" class="run"><span class="n"><a href="#t36">36</a></span><span class="t"> <span class="nam">all_tokens</span> <span class="op">=</span> <span class="nam">sentiment</span><span class="op">.</span><span class="nam">get_all_tokens</span><span class="op">(</span><span class="nam">list_reviews</span><span class="op">)</span> </span><span class="r"></span></p> + <p id="t37" class="run"><span class="n"><a href="#t37">37</a></span><span class="t"> <span class="nam">unique_tokens</span> <span class="op">=</span> <span class="nam">set</span><span class="op">(</span><span class="nam">all_tokens</span><span class="op">)</span> </span><span class="r"></span></p> + <p id="t38" class="run"><span class="n"><a href="#t38">38</a></span><span class="t"> <span class="nam">token_map</span> <span class="op">=</span> <span class="nam">sentiment</span><span class="op">.</span><span class="nam">get_token_map</span><span class="op">(</span><span class="nam">all_tokens</span><span class="op">,</span> <span class="nam">list_reviews</span><span class="op">)</span> </span><span class="r"></span></p> + <p id="t39" class="run"><span class="n"><a href="#t39">39</a></span><span class="t"> <span class="nam">frequency</span><span class="op">,</span> <span class="nam">token</span> <span class="op">=</span> <span class="nam">sentiment</span><span class="op">.</span><span class="nam">prompt_for_token_frequency</span><span class="op">(</span><span class="nam">unique_tokens</span><span class="op">,</span> <span class="nam">token_map</span><span class="op">,</span> <span class="str">'good'</span><span class="op">)</span> </span><span class="r"></span></p> + <p id="t40" class="pln"><span class="n"><a href="#t40">40</a></span><span class="t"> </span><span class="r"></span></p> + <p id="t41" class="run"><span class="n"><a href="#t41">41</a></span><span class="t"> <span class="nam">self</span><span class="op">.</span><span class="nam">assertEqual</span><span class="op">(</span><span class="num">0</span><span class="op">,</span> <span class="nam">frequency</span><span class="op">)</span> </span><span class="r"></span></p> + <p id="t42" class="run"><span class="n"><a href="#t42">42</a></span><span class="t"> <span class="nam">self</span><span class="op">.</span><span class="nam">assertEqual</span><span class="op">(</span><span class="str">'good'</span><span class="op">,</span> <span class="nam">token</span><span class="op">)</span> </span><span class="r"></span></p> + <p id="t43" class="pln"><span class="n"><a href="#t43">43</a></span><span class="t"> </span><span class="r"></span></p> + <p id="t44" class="run"><span class="n"><a href="#t44">44</a></span><span class="t"> <span class="key">def</span> <span class="nam">test_frequency_of_seven</span><span class="op">(</span><span class="nam">self</span><span class="op">)</span><span class="op">:</span> </span><span class="r"></span></p> + <p id="t45" class="run"><span class="n"><a href="#t45">45</a></span><span class="t"> <span class="nam">list_reviews</span> <span class="op">=</span> <span class="op">[</span><span class="str">'+ absolutely detestable ; would not watch again'</span><span class="op">,</span> </span><span class="r"></span></p> + <p id="t46" class="pln"><span class="n"><a href="#t46">46</a></span><span class="t"> <span class="str">'- a series of escapades demonstrating the adage that what is good for the goose is also good for the gander , some of which occasionally amuses but none of which amounts to much of a story .'</span><span class="op">,</span> </span><span class="r"></span></p> + <p id="t47" class="pln"><span class="n"><a href="#t47">47</a></span><span class="t"> <span class="str">'+ this quiet , introspective and entertaining independent is worth seeking .'</span><span class="op">,</span> </span><span class="r"></span></p> + <p id="t48" class="pln"><span class="n"><a href="#t48">48</a></span><span class="t"> <span class="str">'- even fans of ismail merchant \'s work , i suspect , would have a hard time sitting through this one .'</span><span class="op">,</span> </span><span class="r"></span></p> + <p id="t49" class="pln"><span class="n"><a href="#t49">49</a></span><span class="t"> <span class="str">'+ a positively thrilling combination of ethnography and all the intrigue , betrayal , deceit and murder of a shakespearean tragedy or a juicy soap opera .'</span><span class="op">,</span> </span><span class="r"></span></p> + <p id="t50" class="pln"><span class="n"><a href="#t50">50</a></span><span class="t"> <span class="str">'- aggressive self-glorification and a manipulative whitewash .'</span><span class="op">]</span> </span><span class="r"></span></p> + <p id="t51" class="pln"><span class="n"><a href="#t51">51</a></span><span class="t"> </span><span class="r"></span></p> + <p id="t52" class="run"><span class="n"><a href="#t52">52</a></span><span class="t"> <span class="nam">all_tokens</span> <span class="op">=</span> <span class="nam">sentiment</span><span class="op">.</span><span class="nam">get_all_tokens</span><span class="op">(</span><span class="nam">list_reviews</span><span class="op">)</span> </span><span class="r"></span></p> + <p id="t53" class="run"><span class="n"><a href="#t53">53</a></span><span class="t"> <span class="nam">unique_tokens</span> <span class="op">=</span> <span class="nam">set</span><span class="op">(</span><span class="nam">all_tokens</span><span class="op">)</span> </span><span class="r"></span></p> + <p id="t54" class="run"><span class="n"><a href="#t54">54</a></span><span class="t"> <span class="nam">token_map</span> <span class="op">=</span> <span class="nam">sentiment</span><span class="op">.</span><span class="nam">get_token_map</span><span class="op">(</span><span class="nam">all_tokens</span><span class="op">,</span> <span class="nam">list_reviews</span><span class="op">)</span> </span><span class="r"></span></p> + <p id="t55" class="run"><span class="n"><a href="#t55">55</a></span><span class="t"> <span class="nam">frequency</span><span class="op">,</span> <span class="nam">token</span> <span class="op">=</span> <span class="nam">sentiment</span><span class="op">.</span><span class="nam">prompt_for_token_frequency</span><span class="op">(</span><span class="nam">unique_tokens</span><span class="op">,</span> <span class="nam">token_map</span><span class="op">,</span> <span class="str">'a'</span><span class="op">)</span> </span><span class="r"></span></p> + <p id="t56" class="pln"><span class="n"><a href="#t56">56</a></span><span class="t"> </span><span class="r"></span></p> + <p id="t57" class="run"><span class="n"><a href="#t57">57</a></span><span class="t"> <span class="nam">self</span><span class="op">.</span><span class="nam">assertEqual</span><span class="op">(</span><span class="num">7</span><span class="op">,</span> <span class="nam">frequency</span><span class="op">)</span> </span><span class="r"></span></p> + <p id="t58" class="run"><span class="n"><a href="#t58">58</a></span><span class="t"> <span class="nam">self</span><span class="op">.</span><span class="nam">assertEqual</span><span class="op">(</span><span class="str">'a'</span><span class="op">,</span> <span class="nam">token</span><span class="op">)</span> </span><span class="r"></span></p> <p id="t59" class="pln"><span class="n"><a href="#t59">59</a></span><span class="t"> </span><span class="r"></span></p> - <p id="t60" class="run"><span class="n"><a href="#t60">60</a></span><span class="t"><span class="key">class</span> <span class="nam">TestCalculateTFIDFScore</span><span class="op">(</span><span class="nam">unittest</span><span class="op">.</span><span class="nam">TestCase</span><span class="op">)</span><span class="op">:</span> </span><span class="r"></span></p> - <p id="t61" class="run"><span class="n"><a href="#t61">61</a></span><span class="t"> <span class="key">def</span> <span class="nam">test_set_tfidf_score</span><span class="op">(</span><span class="nam">self</span><span class="op">)</span><span class="op">:</span> </span><span class="r"></span></p> - <p id="t62" class="run"><span class="n"><a href="#t62">62</a></span><span class="t"> <span class="nam">list_reviews</span> <span class="op">=</span> <span class="op">[</span><span class="str">'+ absolutely detestable ; would not watch again'</span><span class="op">,</span> </span><span class="r"></span></p> - <p id="t63" class="pln"><span class="n"><a href="#t63">63</a></span><span class="t"> <span class="str">'- a series of escapades demonstrating the adage that what is good for the goose is also good for the gander , some of which occasionally amuses but none of which amounts to much of a story .'</span><span class="op">,</span> </span><span class="r"></span></p> - <p id="t64" class="pln"><span class="n"><a href="#t64">64</a></span><span class="t"> <span class="str">'+ this quiet , introspective and entertaining independent is worth seeking .'</span><span class="op">,</span> </span><span class="r"></span></p> - <p id="t65" class="pln"><span class="n"><a href="#t65">65</a></span><span class="t"> <span class="str">'- even fans of ismail merchant \'s work , i suspect , would have a hard time sitting through this one .'</span><span class="op">,</span> </span><span class="r"></span></p> - <p id="t66" class="pln"><span class="n"><a href="#t66">66</a></span><span class="t"> <span class="str">'+ a positively thrilling combination of ethnography and all the intrigue , betrayal , deceit and murder of a shakespearean tragedy or a juicy soap opera .'</span><span class="op">,</span> </span><span class="r"></span></p> - <p id="t67" class="pln"><span class="n"><a href="#t67">67</a></span><span class="t"> <span class="str">'- aggressive self-glorification and a manipulative whitewash .'</span><span class="op">,</span> </span><span class="r"></span></p> - <p id="t68" class="pln"><span class="n"><a href="#t68">68</a></span><span class="t"> <span class="str">'0 okay .'</span><span class="op">,</span> </span><span class="r"></span></p> - <p id="t69" class="pln"><span class="n"><a href="#t69">69</a></span><span class="t"> <span class="str">'+ positively great'</span><span class="op">]</span> </span><span class="r"></span></p> - <p id="t70" class="run"><span class="n"><a href="#t70">70</a></span><span class="t"> <span class="nam">all_tokens</span> <span class="op">=</span> <span class="nam">sentiment</span><span class="op">.</span><span class="nam">get_all_tokens</span><span class="op">(</span><span class="nam">list_reviews</span><span class="op">)</span> </span><span class="r"></span></p> - <p id="t71" class="run"><span class="n"><a href="#t71">71</a></span><span class="t"> <span class="nam">unique_tokens</span> <span class="op">=</span> <span class="nam">set</span><span class="op">(</span><span class="nam">all_tokens</span><span class="op">)</span> </span><span class="r"></span></p> - <p id="t72" class="run"><span class="n"><a href="#t72">72</a></span><span class="t"> <span class="nam">token_map</span> <span class="op">=</span> <span class="nam">sentiment</span><span class="op">.</span><span class="nam">get_token_map</span><span class="op">(</span><span class="nam">all_tokens</span><span class="op">,</span> <span class="nam">list_reviews</span><span class="op">)</span> </span><span class="r"></span></p> - <p id="t73" class="run"><span class="n"><a href="#t73">73</a></span><span class="t"> <span class="nam">total_negative_review_tokens</span><span class="op">,</span> <span class="nam">total_positive_review_tokens</span> <span class="op">=</span> <span class="nam">sentiment</span><span class="op">.</span><span class="nam">calculate_total_positives_and_negatives</span><span class="op">(</span><span class="nam">token_map</span><span class="op">)</span> </span><span class="r"></span></p> - <p id="t74" class="run"><span class="n"><a href="#t74">74</a></span><span class="t"> <span class="nam">sentiment</span><span class="op">.</span><span class="nam">set_tfidf_score</span><span class="op">(</span><span class="nam">unique_tokens</span><span class="op">,</span> <span class="nam">token_map</span><span class="op">,</span> <span class="nam">total_negative_review_tokens</span><span class="op">,</span> <span class="nam">total_positive_review_tokens</span><span class="op">)</span> </span><span class="r"></span></p> - <p id="t75" class="pln"><span class="n"><a href="#t75">75</a></span><span class="t"> </span><span class="r"></span></p> - <p id="t76" class="run"><span class="n"><a href="#t76">76</a></span><span class="t"> <span class="nam">self</span><span class="op">.</span><span class="nam">assertEqual</span><span class="op">(</span><span class="num">1.4381194289844768</span><span class="op">,</span> <span class="nam">token_map</span><span class="op">[</span><span class="str">'positively'</span><span class="op">]</span><span class="op">.</span><span class="nam">tfidf_score</span><span class="op">)</span> </span><span class="r"></span></p> - <p id="t77" class="run"><span class="n"><a href="#t77">77</a></span><span class="t"> <span class="nam">self</span><span class="op">.</span><span class="nam">assertEqual</span><span class="op">(</span><span class="num">0.33950714031636675</span><span class="op">,</span> <span class="nam">token_map</span><span class="op">[</span><span class="str">'okay'</span><span class="op">]</span><span class="op">.</span><span class="nam">tfidf_score</span><span class="op">)</span> </span><span class="r"></span></p> - <p id="t78" class="run"><span class="n"><a href="#t78">78</a></span><span class="t"> <span class="nam">self</span><span class="op">.</span><span class="nam">assertEqual</span><span class="op">(</span><span class="num">1.0326543208763121</span><span class="op">,</span> <span class="nam">token_map</span><span class="op">[</span><span class="str">'introspective'</span><span class="op">]</span><span class="op">.</span><span class="nam">tfidf_score</span><span class="op">)</span> </span><span class="r"></span></p> - <p id="t79" class="run"><span class="n"><a href="#t79">79</a></span><span class="t"> <span class="nam">self</span><span class="op">.</span><span class="nam">assertEqual</span><span class="op">(</span><span class="op">-</span><span class="num">0.35364004024357865</span><span class="op">,</span> <span class="nam">token_map</span><span class="op">[</span><span class="str">'self-glorification'</span><span class="op">]</span><span class="op">.</span><span class="nam">tfidf_score</span><span class="op">)</span> </span><span class="r"></span></p> - <p id="t80" class="pln"><span class="n"><a href="#t80">80</a></span><span class="t"> </span><span class="r"></span></p> + <p id="t60" class="pln"><span class="n"><a href="#t60">60</a></span><span class="t"> </span><span class="r"></span></p> + <p id="t61" class="run"><span class="n"><a href="#t61">61</a></span><span class="t"><span class="key">class</span> <span class="nam">TestCalculateTFIDFScore</span><span class="op">(</span><span class="nam">unittest</span><span class="op">.</span><span class="nam">TestCase</span><span class="op">)</span><span class="op">:</span> </span><span class="r"></span></p> + <p id="t62" class="run"><span class="n"><a href="#t62">62</a></span><span class="t"> <span class="key">def</span> <span class="nam">test_set_tfidf_score</span><span class="op">(</span><span class="nam">self</span><span class="op">)</span><span class="op">:</span> </span><span class="r"></span></p> + <p id="t63" class="run"><span class="n"><a href="#t63">63</a></span><span class="t"> <span class="nam">list_reviews</span> <span class="op">=</span> <span class="op">[</span><span class="str">'+ absolutely detestable ; would not watch again'</span><span class="op">,</span> </span><span class="r"></span></p> + <p id="t64" class="pln"><span class="n"><a href="#t64">64</a></span><span class="t"> <span class="str">'- a series of escapades demonstrating the adage that what is good for the goose is also good for the gander , some of which occasionally amuses but none of which amounts to much of a story .'</span><span class="op">,</span> </span><span class="r"></span></p> + <p id="t65" class="pln"><span class="n"><a href="#t65">65</a></span><span class="t"> <span class="str">'+ this quiet , introspective and entertaining independent is worth seeking .'</span><span class="op">,</span> </span><span class="r"></span></p> + <p id="t66" class="pln"><span class="n"><a href="#t66">66</a></span><span class="t"> <span class="str">'- even fans of ismail merchant \'s work , i suspect , would have a hard time sitting through this one .'</span><span class="op">,</span> </span><span class="r"></span></p> + <p id="t67" class="pln"><span class="n"><a href="#t67">67</a></span><span class="t"> <span class="str">'+ a positively thrilling combination of ethnography and all the intrigue , betrayal , deceit and murder of a shakespearean tragedy or a juicy soap opera .'</span><span class="op">,</span> </span><span class="r"></span></p> + <p id="t68" class="pln"><span class="n"><a href="#t68">68</a></span><span class="t"> <span class="str">'- aggressive self-glorification and a manipulative whitewash .'</span><span class="op">,</span> </span><span class="r"></span></p> + <p id="t69" class="pln"><span class="n"><a href="#t69">69</a></span><span class="t"> <span class="str">'0 okay .'</span><span class="op">,</span> </span><span class="r"></span></p> + <p id="t70" class="pln"><span class="n"><a href="#t70">70</a></span><span class="t"> <span class="str">'+ positively great'</span><span class="op">]</span> </span><span class="r"></span></p> + <p id="t71" class="run"><span class="n"><a href="#t71">71</a></span><span class="t"> <span class="nam">all_tokens</span> <span class="op">=</span> <span class="nam">sentiment</span><span class="op">.</span><span class="nam">get_all_tokens</span><span class="op">(</span><span class="nam">list_reviews</span><span class="op">)</span> </span><span class="r"></span></p> + <p id="t72" class="run"><span class="n"><a href="#t72">72</a></span><span class="t"> <span class="nam">unique_tokens</span> <span class="op">=</span> <span class="nam">set</span><span class="op">(</span><span class="nam">all_tokens</span><span class="op">)</span> </span><span class="r"></span></p> + <p id="t73" class="run"><span class="n"><a href="#t73">73</a></span><span class="t"> <span class="nam">token_map</span> <span class="op">=</span> <span class="nam">sentiment</span><span class="op">.</span><span class="nam">get_token_map</span><span class="op">(</span><span class="nam">all_tokens</span><span class="op">,</span> <span class="nam">list_reviews</span><span class="op">)</span> </span><span class="r"></span></p> + <p id="t74" class="run"><span class="n"><a href="#t74">74</a></span><span class="t"> <span class="nam">total_negative_review_tokens</span><span class="op">,</span> <span class="nam">total_positive_review_tokens</span> <span class="op">=</span> <span class="nam">sentiment</span><span class="op">.</span><span class="nam">calculate_total_positives_and_negatives</span><span class="op">(</span><span class="nam">token_map</span><span class="op">)</span> </span><span class="r"></span></p> + <p id="t75" class="run"><span class="n"><a href="#t75">75</a></span><span class="t"> <span class="nam">sentiment</span><span class="op">.</span><span class="nam">set_tfidf_score</span><span class="op">(</span><span class="nam">unique_tokens</span><span class="op">,</span> <span class="nam">token_map</span><span class="op">,</span> <span class="nam">total_negative_review_tokens</span><span class="op">,</span> <span class="nam">total_positive_review_tokens</span><span class="op">)</span> </span><span class="r"></span></p> + <p id="t76" class="pln"><span class="n"><a href="#t76">76</a></span><span class="t"> </span><span class="r"></span></p> + <p id="t77" class="run"><span class="n"><a href="#t77">77</a></span><span class="t"> <span class="nam">self</span><span class="op">.</span><span class="nam">assertEqual</span><span class="op">(</span><span class="num">1.4381194289844768</span><span class="op">,</span> <span class="nam">token_map</span><span class="op">[</span><span class="str">'positively'</span><span class="op">]</span><span class="op">.</span><span class="nam">tfidf_score</span><span class="op">)</span> </span><span class="r"></span></p> + <p id="t78" class="run"><span class="n"><a href="#t78">78</a></span><span class="t"> <span class="nam">self</span><span class="op">.</span><span class="nam">assertEqual</span><span class="op">(</span><span class="num">0.33950714031636675</span><span class="op">,</span> <span class="nam">token_map</span><span class="op">[</span><span class="str">'okay'</span><span class="op">]</span><span class="op">.</span><span class="nam">tfidf_score</span><span class="op">)</span> </span><span class="r"></span></p> + <p id="t79" class="run"><span class="n"><a href="#t79">79</a></span><span class="t"> <span class="nam">self</span><span class="op">.</span><span class="nam">assertEqual</span><span class="op">(</span><span class="num">1.0326543208763121</span><span class="op">,</span> <span class="nam">token_map</span><span class="op">[</span><span class="str">'introspective'</span><span class="op">]</span><span class="op">.</span><span class="nam">tfidf_score</span><span class="op">)</span> </span><span class="r"></span></p> + <p id="t80" class="run"><span class="n"><a href="#t80">80</a></span><span class="t"> <span class="nam">self</span><span class="op">.</span><span class="nam">assertEqual</span><span class="op">(</span><span class="op">-</span><span class="num">0.35364004024357865</span><span class="op">,</span> <span class="nam">token_map</span><span class="op">[</span><span class="str">'self-glorification'</span><span class="op">]</span><span class="op">.</span><span class="nam">tfidf_score</span><span class="op">)</span> </span><span class="r"></span></p> <p id="t81" class="pln"><span class="n"><a href="#t81">81</a></span><span class="t"> </span><span class="r"></span></p> - <p id="t82" class="run"><span class="n"><a href="#t82">82</a></span><span class="t"><span class="key">class</span> <span class="nam">TestSetTFIDFClassification</span><span class="op">(</span><span class="nam">unittest</span><span class="op">.</span><span class="nam">TestCase</span><span class="op">)</span><span class="op">:</span> </span><span class="r"></span></p> - <p id="t83" class="run"><span class="n"><a href="#t83">83</a></span><span class="t"> <span class="key">def</span> <span class="nam">test_set_token_classification</span><span class="op">(</span><span class="nam">self</span><span class="op">)</span><span class="op">:</span> </span><span class="r"></span></p> - <p id="t84" class="run"><span class="n"><a href="#t84">84</a></span><span class="t"> <span class="nam">list_reviews</span> <span class="op">=</span> <span class="op">[</span><span class="str">'+ absolutely detestable ; would not watch again'</span><span class="op">,</span> </span><span class="r"></span></p> - <p id="t85" class="pln"><span class="n"><a href="#t85">85</a></span><span class="t"> <span class="str">'- a series of escapades demonstrating the adage that what is good for the goose is also good for the gander , some of which occasionally amuses but none of which amounts to much of a story .'</span><span class="op">,</span> </span><span class="r"></span></p> - <p id="t86" class="pln"><span class="n"><a href="#t86">86</a></span><span class="t"> <span class="str">'+ this quiet , introspective and entertaining independent is worth seeking .'</span><span class="op">,</span> </span><span class="r"></span></p> - <p id="t87" class="pln"><span class="n"><a href="#t87">87</a></span><span class="t"> <span class="str">'- even fans of ismail merchant \'s work , i suspect , would have a hard time sitting through this one .'</span><span class="op">,</span> </span><span class="r"></span></p> - <p id="t88" class="pln"><span class="n"><a href="#t88">88</a></span><span class="t"> <span class="str">'+ a positively thrilling combination of ethnography and all the intrigue , betrayal , deceit and murder of a shakespearean tragedy or a juicy soap opera .'</span><span class="op">,</span> </span><span class="r"></span></p> - <p id="t89" class="pln"><span class="n"><a href="#t89">89</a></span><span class="t"> <span class="str">'- aggressive self-glorification and a manipulative whitewash .'</span><span class="op">,</span> </span><span class="r"></span></p> - <p id="t90" class="pln"><span class="n"><a href="#t90">90</a></span><span class="t"> <span class="str">'0 okay .'</span><span class="op">,</span> </span><span class="r"></span></p> - <p id="t91" class="pln"><span class="n"><a href="#t91">91</a></span><span class="t"> <span class="str">'+ positively great'</span><span class="op">]</span> </span><span class="r"></span></p> - <p id="t92" class="run"><span class="n"><a href="#t92">92</a></span><span class="t"> <span class="nam">all_tokens</span><span class="op">,</span> <span class="nam">token_map</span><span class="op">,</span> <span class="nam">total_negative_review_tokens</span><span class="op">,</span> <span class="nam">total_positive_review_tokens</span><span class="op">,</span> <span class="nam">unique_tokens</span> <span class="op">=</span> <span class="nam">sentiment</span><span class="op">.</span><span class="nam">create_data_structures</span><span class="op">(</span> </span><span class="r"></span></p> - <p id="t93" class="pln"><span class="n"><a href="#t93">93</a></span><span class="t"> <span class="nam">list_reviews</span><span class="op">)</span> </span><span class="r"></span></p> - <p id="t94" class="pln"><span class="n"><a href="#t94">94</a></span><span class="t"> </span><span class="r"></span></p> - <p id="t95" class="run"><span class="n"><a href="#t95">95</a></span><span class="t"> <span class="nam">self</span><span class="op">.</span><span class="nam">assertEqual</span><span class="op">(</span><span class="nam">sentiment</span><span class="op">.</span><span class="nam">TokenClassification</span><span class="op">.</span><span class="nam">NEGATIVE</span><span class="op">,</span> <span class="nam">token_map</span><span class="op">[</span><span class="str">'series'</span><span class="op">]</span><span class="op">.</span><span class="nam">token_classification</span><span class="op">)</span> </span><span class="r"></span></p> - <p id="t96" class="run"><span class="n"><a href="#t96">96</a></span><span class="t"> <span class="nam">self</span><span class="op">.</span><span class="nam">assertEqual</span><span class="op">(</span><span class="nam">sentiment</span><span class="op">.</span><span class="nam">TokenClassification</span><span class="op">.</span><span class="nam">POSITIVE</span><span class="op">,</span> <span class="nam">token_map</span><span class="op">[</span><span class="str">'positively'</span><span class="op">]</span><span class="op">.</span><span class="nam">token_classification</span><span class="op">)</span> </span><span class="r"></span></p> - <p id="t97" class="run"><span class="n"><a href="#t97">97</a></span><span class="t"> <span class="nam">self</span><span class="op">.</span><span class="nam">assertEqual</span><span class="op">(</span><span class="nam">sentiment</span><span class="op">.</span><span class="nam">TokenClassification</span><span class="op">.</span><span class="nam">POSITIVE</span><span class="op">,</span> <span class="nam">token_map</span><span class="op">[</span><span class="str">'introspective'</span><span class="op">]</span><span class="op">.</span><span class="nam">token_classification</span><span class="op">)</span> </span><span class="r"></span></p> - <p id="t98" class="pln"><span class="n"><a href="#t98">98</a></span><span class="t"> </span><span class="r"></span></p> - <p id="t99" class="run"><span class="n"><a href="#t99">99</a></span><span class="t"><span class="key">class</span> <span class="nam">TestSetTokenFrequencyOfSentiment</span><span class="op">(</span><span class="nam">unittest</span><span class="op">.</span><span class="nam">TestCase</span><span class="op">)</span><span class="op">:</span> </span><span class="r"></span></p> - <p id="t100" class="run"><span class="n"><a href="#t100">100</a></span><span class="t"> <span class="key">def</span> <span class="nam">test_set_token_frequency_of_sentiment</span><span class="op">(</span><span class="nam">self</span><span class="op">)</span><span class="op">:</span> </span><span class="r"></span></p> - <p id="t101" class="run"><span class="n"><a href="#t101">101</a></span><span class="t"> <span class="nam">list_reviews</span> <span class="op">=</span> <span class="op">[</span><span class="str">'+ absolutely detestable ; would not watch again'</span><span class="op">,</span> </span><span class="r"></span></p> - <p id="t102" class="pln"><span class="n"><a href="#t102">102</a></span><span class="t"> <span class="str">'- a series of escapades demonstrating the adage that what is good for the goose is also good for the gander , some of which occasionally amuses but none of which amounts to much of a story .'</span><span class="op">,</span> </span><span class="r"></span></p> - <p id="t103" class="pln"><span class="n"><a href="#t103">103</a></span><span class="t"> <span class="str">'+ this quiet , introspective and entertaining independent is worth seeking .'</span><span class="op">,</span> </span><span class="r"></span></p> - <p id="t104" class="pln"><span class="n"><a href="#t104">104</a></span><span class="t"> <span class="str">'- even fans of ismail merchant \'s work , i suspect , would have a hard time sitting through this one .'</span><span class="op">,</span> </span><span class="r"></span></p> - <p id="t105" class="pln"><span class="n"><a href="#t105">105</a></span><span class="t"> <span class="str">'+ a positively thrilling combination of ethnography and all the intrigue , betrayal , deceit and murder of a shakespearean tragedy or a juicy soap opera .'</span><span class="op">,</span> </span><span class="r"></span></p> - <p id="t106" class="pln"><span class="n"><a href="#t106">106</a></span><span class="t"> <span class="str">'- aggressive self-glorification and a manipulative whitewash .'</span><span class="op">,</span> </span><span class="r"></span></p> - <p id="t107" class="pln"><span class="n"><a href="#t107">107</a></span><span class="t"> <span class="str">'0 okay .'</span><span class="op">,</span> </span><span class="r"></span></p> - <p id="t108" class="pln"><span class="n"><a href="#t108">108</a></span><span class="t"> <span class="str">'+ positively great'</span><span class="op">]</span> </span><span class="r"></span></p> - <p id="t109" class="run"><span class="n"><a href="#t109">109</a></span><span class="t"> <span class="nam">all_tokens</span><span class="op">,</span> <span class="nam">token_map</span><span class="op">,</span> <span class="nam">total_negative_review_tokens</span><span class="op">,</span> <span class="nam">total_positive_review_tokens</span><span class="op">,</span> <span class="nam">unique_tokens</span> <span class="op">=</span> <span class="nam">sentiment</span><span class="op">.</span><span class="nam">create_data_structures</span><span class="op">(</span> </span><span class="r"></span></p> - <p id="t110" class="pln"><span class="n"><a href="#t110">110</a></span><span class="t"> <span class="nam">list_reviews</span><span class="op">)</span> </span><span class="r"></span></p> - <p id="t111" class="run"><span class="n"><a href="#t111">111</a></span><span class="t"> <span class="nam">self</span><span class="op">.</span><span class="nam">assertEqual</span><span class="op">(</span><span class="nam">token_map</span><span class="op">[</span><span class="str">'series'</span><span class="op">]</span><span class="op">.</span><span class="nam">negative_review</span><span class="op">,</span> <span class="num">1</span><span class="op">)</span> </span><span class="r"></span></p> - <p id="t112" class="run"><span class="n"><a href="#t112">112</a></span><span class="t"> <span class="nam">self</span><span class="op">.</span><span class="nam">assertEqual</span><span class="op">(</span><span class="nam">token_map</span><span class="op">[</span><span class="str">'positively'</span><span class="op">]</span><span class="op">.</span><span class="nam">positive_review</span><span class="op">,</span> <span class="num">2</span><span class="op">)</span> </span><span class="r"></span></p> - <p id="t113" class="run"><span class="n"><a href="#t113">113</a></span><span class="t"> <span class="nam">self</span><span class="op">.</span><span class="nam">assertEqual</span><span class="op">(</span><span class="nam">token_map</span><span class="op">[</span><span class="str">'okay'</span><span class="op">]</span><span class="op">.</span><span class="nam">neutral_review</span><span class="op">,</span> <span class="num">1</span><span class="op">)</span> </span><span class="r"></span></p> - <p id="t114" class="pln"><span class="n"><a href="#t114">114</a></span><span class="t"> </span><span class="r"></span></p> - <p id="t115" class="pln"><span class="n"><a href="#t115">115</a></span><span class="t"> </span><span class="r"></span></p> - <p id="t116" class="run"><span class="n"><a href="#t116">116</a></span><span class="t"><span class="key">class</span> <span class="nam">TestShowSentenceStatistics</span><span class="op">(</span><span class="nam">unittest</span><span class="op">.</span><span class="nam">TestCase</span><span class="op">)</span><span class="op">:</span> </span><span class="r"></span></p> - <p id="t117" class="run"><span class="n"><a href="#t117">117</a></span><span class="t"> <span class="key">def</span> <span class="nam">test_full_sentence_input</span><span class="op">(</span><span class="nam">self</span><span class="op">)</span><span class="op">:</span> </span><span class="r"></span></p> - <p id="t118" class="run"><span class="n"><a href="#t118">118</a></span><span class="t"> <span class="nam">list_reviews</span> <span class="op">=</span> <span class="op">[</span><span class="str">'+ absolutely detestable ; would not watch again'</span><span class="op">,</span> </span><span class="r"></span></p> - <p id="t119" class="pln"><span class="n"><a href="#t119">119</a></span><span class="t"> <span class="str">'- a series of escapades demonstrating the adage that what is good for the goose is also good for the gander , some of which occasionally amuses but none of which amounts to much of a story .'</span><span class="op">,</span> </span><span class="r"></span></p> - <p id="t120" class="pln"><span class="n"><a href="#t120">120</a></span><span class="t"> <span class="str">'+ this quiet , introspective and entertaining independent is worth seeking .'</span><span class="op">,</span> </span><span class="r"></span></p> - <p id="t121" class="pln"><span class="n"><a href="#t121">121</a></span><span class="t"> <span class="str">'- even fans of ismail merchant \'s work , i suspect , would have a hard time sitting through this one .'</span><span class="op">,</span> </span><span class="r"></span></p> - <p id="t122" class="pln"><span class="n"><a href="#t122">122</a></span><span class="t"> <span class="str">'+ a positively thrilling combination of ethnography and all the intrigue , betrayal , deceit and murder of a shakespearean tragedy or a juicy soap opera .'</span><span class="op">,</span> </span><span class="r"></span></p> - <p id="t123" class="pln"><span class="n"><a href="#t123">123</a></span><span class="t"> <span class="str">'- aggressive self-glorification and a manipulative whitewash .'</span><span class="op">]</span> </span><span class="r"></span></p> - <p id="t124" class="run"><span class="n"><a href="#t124">124</a></span><span class="t"> <span class="nam">all_tokens</span><span class="op">,</span> <span class="nam">token_map</span><span class="op">,</span> <span class="nam">total_negative_review_tokens</span><span class="op">,</span> <span class="nam">total_positive_review_tokens</span><span class="op">,</span> <span class="nam">unique_tokens</span> <span class="op">=</span> <span class="nam">sentiment</span><span class="op">.</span><span class="nam">create_data_structures</span><span class="op">(</span> </span><span class="r"></span></p> - <p id="t125" class="pln"><span class="n"><a href="#t125">125</a></span><span class="t"> <span class="nam">list_reviews</span><span class="op">)</span> </span><span class="r"></span></p> - <p id="t126" class="pln"><span class="n"><a href="#t126">126</a></span><span class="t"> <span class="com"># correct_output = 'The sentence has 5 negative, 0 neutral, 1 positive, and 1 unknown token(s).\nThe sentence has an average tf-idf score of -0.18812093738509109'</span> </span><span class="r"></span></p> - <p id="t127" class="run"><span class="n"><a href="#t127">127</a></span><span class="t"> <span class="nam">negative</span><span class="op">,</span> <span class="nam">neutral</span><span class="op">,</span> <span class="nam">positive</span><span class="op">,</span> <span class="nam">unknown</span><span class="op">,</span> <span class="nam">total_tfidf_score</span> <span class="op">=</span> <span class="nam">sentiment</span><span class="op">.</span><span class="nam">prompt_for_sentence_statistics</span><span class="op">(</span><span class="key">False</span><span class="op">,</span> </span><span class="r"></span></p> - <p id="t128" class="pln"><span class="n"><a href="#t128">128</a></span><span class="t"> <span class="nam">token_map</span><span class="op">,</span> <span class="str">'this quiet , introspective and entertaining independent is worth seeking .'</span><span class="op">)</span> </span><span class="r"></span></p> - <p id="t129" class="run"><span class="n"><a href="#t129">129</a></span><span class="t"> <span class="nam">self</span><span class="op">.</span><span class="nam">assertEqual</span><span class="op">(</span><span class="num">0</span><span class="op">,</span> <span class="nam">negative</span><span class="op">)</span> </span><span class="r"></span></p> - <p id="t130" class="run"><span class="n"><a href="#t130">130</a></span><span class="t"> <span class="nam">self</span><span class="op">.</span><span class="nam">assertEqual</span><span class="op">(</span><span class="num">2</span><span class="op">,</span> <span class="nam">neutral</span><span class="op">)</span> </span><span class="r"></span></p> - <p id="t131" class="run"><span class="n"><a href="#t131">131</a></span><span class="t"> <span class="nam">self</span><span class="op">.</span><span class="nam">assertEqual</span><span class="op">(</span><span class="num">9</span><span class="op">,</span> <span class="nam">positive</span><span class="op">)</span> </span><span class="r"></span></p> - <p id="t132" class="run"><span class="n"><a href="#t132">132</a></span><span class="t"> <span class="nam">self</span><span class="op">.</span><span class="nam">assertEqual</span><span class="op">(</span><span class="num">0</span><span class="op">,</span> <span class="nam">unknown</span><span class="op">)</span> </span><span class="r"></span></p> - <p id="t133" class="run"><span class="n"><a href="#t133">133</a></span><span class="t"> <span class="nam">self</span><span class="op">.</span><span class="nam">assertEqual</span><span class="op">(</span><span class="num">0.7610725325615303</span><span class="op">,</span> <span class="nam">total_tfidf_score</span><span class="op">)</span> </span><span class="r"></span></p> - <p id="t134" class="pln"><span class="n"><a href="#t134">134</a></span><span class="t"> </span><span class="r"></span></p> - <p id="t135" class="run"><span class="n"><a href="#t135">135</a></span><span class="t"> <span class="key">def</span> <span class="nam">test_invalid_sentence_input</span><span class="op">(</span><span class="nam">self</span><span class="op">)</span><span class="op">:</span> </span><span class="r"></span></p> - <p id="t136" class="run"><span class="n"><a href="#t136">136</a></span><span class="t"> <span class="nam">list_reviews</span> <span class="op">=</span> <span class="op">[</span><span class="str">'+ absolutely detestable ; would not watch again'</span><span class="op">,</span> </span><span class="r"></span></p> - <p id="t137" class="pln"><span class="n"><a href="#t137">137</a></span><span class="t"> <span class="str">'- a series of escapades demonstrating the adage that what is good for the goose is also good for the gander , some of which occasionally amuses but none of which amounts to much of a story .'</span><span class="op">,</span> </span><span class="r"></span></p> - <p id="t138" class="pln"><span class="n"><a href="#t138">138</a></span><span class="t"> <span class="str">'+ this quiet , introspective and entertaining independent is worth seeking .'</span><span class="op">,</span> </span><span class="r"></span></p> - <p id="t139" class="pln"><span class="n"><a href="#t139">139</a></span><span class="t"> <span class="str">'- even fans of ismail merchant \'s work , i suspect , would have a hard time sitting through this one .'</span><span class="op">,</span> </span><span class="r"></span></p> - <p id="t140" class="pln"><span class="n"><a href="#t140">140</a></span><span class="t"> <span class="str">'+ a positively thrilling combination of ethnography and all the intrigue , betrayal , deceit and murder of a shakespearean tragedy or a juicy soap opera .'</span><span class="op">,</span> </span><span class="r"></span></p> - <p id="t141" class="pln"><span class="n"><a href="#t141">141</a></span><span class="t"> <span class="str">'- aggressive self-glorification and a manipulative whitewash .'</span><span class="op">]</span> </span><span class="r"></span></p> - <p id="t142" class="run"><span class="n"><a href="#t142">142</a></span><span class="t"> <span class="nam">all_tokens</span><span class="op">,</span> <span class="nam">token_map</span><span class="op">,</span> <span class="nam">total_negative_review_tokens</span><span class="op">,</span> <span class="nam">total_positive_review_tokens</span><span class="op">,</span> <span class="nam">unique_tokens</span> <span class="op">=</span> <span class="nam">sentiment</span><span class="op">.</span><span class="nam">create_data_structures</span><span class="op">(</span> </span><span class="r"></span></p> - <p id="t143" class="pln"><span class="n"><a href="#t143">143</a></span><span class="t"> <span class="nam">list_reviews</span><span class="op">)</span> </span><span class="r"></span></p> - <p id="t144" class="pln"><span class="n"><a href="#t144">144</a></span><span class="t"> <span class="com"># negative, neutral, positive, unknown, total_tfidf_score = sentiment.prompt_for_sentence_statistics(False, token_map)</span> </span><span class="r"></span></p> - <p id="t145" class="run"><span class="n"><a href="#t145">145</a></span><span class="t"> <span class="nam">self</span><span class="op">.</span><span class="nam">assertEqual</span><span class="op">(</span><span class="key">None</span><span class="op">,</span> <span class="nam">sentiment</span><span class="op">.</span><span class="nam">prompt_for_sentence_statistics</span><span class="op">(</span><span class="key">False</span><span class="op">,</span> <span class="nam">token_map</span><span class="op">,</span> <span class="str">'my'</span><span class="op">)</span><span class="op">)</span> </span><span class="r"></span></p> - <p id="t146" class="pln"><span class="n"><a href="#t146">146</a></span><span class="t"> </span><span class="r"></span></p> - <p id="t147" class="pln"><span class="n"><a href="#t147">147</a></span><span class="t"> </span><span class="r"></span></p> - <p id="t148" class="run"><span class="n"><a href="#t148">148</a></span><span class="t"><span class="key">class</span> <span class="nam">TestSaveStopWordList</span><span class="op">(</span><span class="nam">unittest</span><span class="op">.</span><span class="nam">TestCase</span><span class="op">)</span><span class="op">:</span> </span><span class="r"></span></p> - <p id="t149" class="run"><span class="n"><a href="#t149">149</a></span><span class="t"> <span class="key">def</span> <span class="nam">test_stop_words</span><span class="op">(</span><span class="nam">self</span><span class="op">)</span><span class="op">:</span> </span><span class="r"></span></p> - <p id="t150" class="run"><span class="n"><a href="#t150">150</a></span><span class="t"> <span class="nam">list_reviews</span> <span class="op">=</span> <span class="op">[</span><span class="str">'0 reeks of rot and hack work from start to finish .'</span><span class="op">,</span> </span><span class="r"></span></p> - <p id="t151" class="pln"><span class="n"><a href="#t151">151</a></span><span class="t"> <span class="str">'- plays like a series of vignettes -- clips of a film that are still looking for a common through-line .'</span><span class="op">,</span> </span><span class="r"></span></p> - <p id="t152" class="pln"><span class="n"><a href="#t152">152</a></span><span class="t"> <span class="str">'+ it shows us a slice of life that \'s very different from our own and yet instantly recognizable .'</span><span class="op">]</span> </span><span class="r"></span></p> - <p id="t153" class="run"><span class="n"><a href="#t153">153</a></span><span class="t"> <span class="nam">stop_words</span> <span class="op">=</span> <span class="op">[</span><span class="str">'.\n'</span><span class="op">,</span> <span class="str">'a\n'</span><span class="op">,</span> <span class="str">'of\n'</span><span class="op">,</span> <span class="str">'to\n'</span><span class="op">,</span> <span class="str">'--\n'</span><span class="op">,</span> <span class="str">'it\n'</span><span class="op">,</span> <span class="str">'us\n'</span><span class="op">,</span> <span class="str">'\'s\n'</span><span class="op">,</span> <span class="str">'rot\n'</span><span class="op">,</span> <span class="str">'and\n'</span><span class="op">,</span> <span class="str">'are\n'</span><span class="op">,</span> <span class="str">'for\n'</span><span class="op">,</span> <span class="str">'our\n'</span><span class="op">,</span> <span class="str">'own\n'</span><span class="op">,</span> <span class="str">'yet\n'</span><span class="op">,</span> <span class="str">'hack\n'</span><span class="op">,</span> <span class="str">'work\n'</span><span class="op">,</span> <span class="str">'from\n'</span><span class="op">,</span> <span class="str">'like\n'</span><span class="op">,</span> </span><span class="r"></span></p> - <p id="t154" class="pln"><span class="n"><a href="#t154">154</a></span><span class="t"> <span class="str">'film\n'</span><span class="op">,</span> <span class="str">'that\n'</span><span class="op">,</span> <span class="str">'life\n'</span><span class="op">,</span> <span class="str">'very\n'</span><span class="op">,</span> <span class="str">'reeks\n'</span><span class="op">,</span> <span class="str">'start\n'</span><span class="op">,</span> <span class="str">'plays\n'</span><span class="op">,</span> <span class="str">'clips\n'</span><span class="op">,</span> <span class="str">'still\n'</span><span class="op">,</span> <span class="str">'shows\n'</span><span class="op">,</span> <span class="str">'slice\n'</span><span class="op">,</span> <span class="str">'finish\n'</span><span class="op">,</span> <span class="str">'series\n'</span><span class="op">,</span> <span class="str">'common\n'</span><span class="op">,</span> <span class="str">'looking\n'</span><span class="op">,</span> </span><span class="r"></span></p> - <p id="t155" class="pln"><span class="n"><a href="#t155">155</a></span><span class="t"> <span class="str">'vignettes\n'</span><span class="op">,</span> <span class="str">'different\n'</span><span class="op">,</span> <span class="str">'instantly\n'</span><span class="op">,</span> <span class="str">'through-line\n'</span><span class="op">,</span> <span class="str">'recognizable\n'</span><span class="op">]</span> </span><span class="r"></span></p> - <p id="t156" class="run"><span class="n"><a href="#t156">156</a></span><span class="t"> <span class="nam">all_tokens</span><span class="op">,</span> <span class="nam">token_map</span><span class="op">,</span> <span class="nam">total_negative_review_tokens</span><span class="op">,</span> <span class="nam">total_positive_review_tokens</span><span class="op">,</span> <span class="nam">unique_tokens</span> <span class="op">=</span> <span class="nam">sentiment</span><span class="op">.</span><span class="nam">create_data_structures</span><span class="op">(</span> </span><span class="r"></span></p> - <p id="t157" class="pln"><span class="n"><a href="#t157">157</a></span><span class="t"> <span class="nam">list_reviews</span><span class="op">)</span> </span><span class="r"></span></p> - <p id="t158" class="run"><span class="n"><a href="#t158">158</a></span><span class="t"> <span class="nam">self</span><span class="op">.</span><span class="nam">assertEqual</span><span class="op">(</span><span class="nam">stop_words</span><span class="op">,</span> <span class="nam">sentiment</span><span class="op">.</span><span class="nam">save_stop_word_list</span><span class="op">(</span><span class="nam">token_map</span><span class="op">,</span> <span class="nam">all_tokens</span><span class="op">)</span><span class="op">)</span> </span><span class="r"></span></p> - <p id="t159" class="pln"><span class="n"><a href="#t159">159</a></span><span class="t"> </span><span class="r"></span></p> - <p id="t160" class="pln"><span class="n"><a href="#t160">160</a></span><span class="t"> </span><span class="r"></span></p> - <p id="t161" class="run"><span class="n"><a href="#t161">161</a></span><span class="t"><span class="key">class</span> <span class="nam">TestShowAdjustedSentenceStatistics</span><span class="op">(</span><span class="nam">unittest</span><span class="op">.</span><span class="nam">TestCase</span><span class="op">)</span><span class="op">:</span> </span><span class="r"></span></p> - <p id="t162" class="run"><span class="n"><a href="#t162">162</a></span><span class="t"> <span class="key">def</span> <span class="nam">test_full_sentence_input</span><span class="op">(</span><span class="nam">self</span><span class="op">)</span><span class="op">:</span> </span><span class="r"></span></p> - <p id="t163" class="run"><span class="n"><a href="#t163">163</a></span><span class="t"> <span class="nam">list_reviews</span> <span class="op">=</span> <span class="op">[</span><span class="str">'+ absolutely detestable ; would not watch again'</span><span class="op">,</span> </span><span class="r"></span></p> - <p id="t164" class="pln"><span class="n"><a href="#t164">164</a></span><span class="t"> <span class="str">'- a series of escapades demonstrating the adage that what is good for the goose is also good for the gander , some of which occasionally amuses but none of which amounts to much of a story .'</span><span class="op">,</span> </span><span class="r"></span></p> - <p id="t165" class="pln"><span class="n"><a href="#t165">165</a></span><span class="t"> <span class="str">'+ this quiet , introspective and entertaining independent is worth seeking .'</span><span class="op">,</span> </span><span class="r"></span></p> - <p id="t166" class="pln"><span class="n"><a href="#t166">166</a></span><span class="t"> <span class="str">'- even fans of ismail merchant \'s work , i suspect , would have a hard time sitting through this one .'</span><span class="op">,</span> </span><span class="r"></span></p> - <p id="t167" class="pln"><span class="n"><a href="#t167">167</a></span><span class="t"> <span class="str">'+ a positively thrilling combination of ethnography and all the intrigue , betrayal , deceit and murder of a shakespearean tragedy or a juicy soap opera .'</span><span class="op">,</span> </span><span class="r"></span></p> - <p id="t168" class="pln"><span class="n"><a href="#t168">168</a></span><span class="t"> <span class="str">'- aggressive self-glorification and a manipulative whitewash .'</span><span class="op">]</span> </span><span class="r"></span></p> - <p id="t169" class="run"><span class="n"><a href="#t169">169</a></span><span class="t"> <span class="nam">all_tokens</span><span class="op">,</span> <span class="nam">token_map</span><span class="op">,</span> <span class="nam">total_negative_review_tokens</span><span class="op">,</span> <span class="nam">total_positive_review_tokens</span><span class="op">,</span> <span class="nam">unique_tokens</span> <span class="op">=</span> <span class="nam">sentiment</span><span class="op">.</span><span class="nam">create_data_structures</span><span class="op">(</span> </span><span class="r"></span></p> - <p id="t170" class="pln"><span class="n"><a href="#t170">170</a></span><span class="t"> <span class="nam">list_reviews</span><span class="op">)</span> </span><span class="r"></span></p> - <p id="t171" class="pln"><span class="n"><a href="#t171">171</a></span><span class="t"> <span class="com"># correct_output = 'The sentence has 5 negative, 0 neutral, 1 positive, and 1 unknown token(s).\nThe sentence has an average tf-idf score of -0.18812093738509109'</span> </span><span class="r"></span></p> - <p id="t172" class="run"><span class="n"><a href="#t172">172</a></span><span class="t"> <span class="nam">stop_words</span><span class="op">,</span> <span class="nam">negative</span><span class="op">,</span> <span class="nam">neutral</span><span class="op">,</span> <span class="nam">positive</span><span class="op">,</span> <span class="nam">unknown</span><span class="op">,</span> <span class="nam">total_tfidf_score</span> <span class="op">=</span> <span class="nam">sentiment</span><span class="op">.</span><span class="nam">prompt_for_sentence_statistics</span><span class="op">(</span><span class="key">True</span><span class="op">,</span> <span class="nam">token_map</span><span class="op">,</span> <span class="str">'this quiet , introspective and entertaining independent is worth seeking .'</span><span class="op">)</span> </span><span class="r"></span></p> - <p id="t173" class="run"><span class="n"><a href="#t173">173</a></span><span class="t"> <span class="nam">self</span><span class="op">.</span><span class="nam">assertEqual</span><span class="op">(</span><span class="num">2</span><span class="op">,</span> <span class="nam">stop_words</span><span class="op">)</span> </span><span class="r"></span></p> - <p id="t174" class="run"><span class="n"><a href="#t174">174</a></span><span class="t"> <span class="nam">self</span><span class="op">.</span><span class="nam">assertEqual</span><span class="op">(</span><span class="num">0</span><span class="op">,</span> <span class="nam">negative</span><span class="op">)</span> </span><span class="r"></span></p> - <p id="t175" class="run"><span class="n"><a href="#t175">175</a></span><span class="t"> <span class="nam">self</span><span class="op">.</span><span class="nam">assertEqual</span><span class="op">(</span><span class="num">1</span><span class="op">,</span> <span class="nam">neutral</span><span class="op">)</span> </span><span class="r"></span></p> - <p id="t176" class="run"><span class="n"><a href="#t176">176</a></span><span class="t"> <span class="nam">self</span><span class="op">.</span><span class="nam">assertEqual</span><span class="op">(</span><span class="num">8</span><span class="op">,</span> <span class="nam">positive</span><span class="op">)</span> </span><span class="r"></span></p> - <p id="t177" class="run"><span class="n"><a href="#t177">177</a></span><span class="t"> <span class="nam">self</span><span class="op">.</span><span class="nam">assertEqual</span><span class="op">(</span><span class="num">0</span><span class="op">,</span> <span class="nam">unknown</span><span class="op">)</span> </span><span class="r"></span></p> - <p id="t178" class="run"><span class="n"><a href="#t178">178</a></span><span class="t"> <span class="nam">self</span><span class="op">.</span><span class="nam">assertEqual</span><span class="op">(</span><span class="num">0.8000386939507176</span><span class="op">,</span> <span class="nam">total_tfidf_score</span><span class="op">)</span> </span><span class="r"></span></p> - <p id="t179" class="pln"><span class="n"><a href="#t179">179</a></span><span class="t"> </span><span class="r"></span></p> - <p id="t180" class="par run show_par"><span class="n"><a href="#t180">180</a></span><span class="t"> <span class="key">if</span> <span class="nam">__name__</span> <span class="op">==</span> <span class="str">'__main__'</span><span class="op">:</span> </span><span class="r"><span class="annotate short">180 ↛ 181</span><span class="annotate long">line 180 didn't jump to line 181, because the condition on line 180 was never true</span></span></p> - <p id="t181" class="mis show_mis"><span class="n"><a href="#t181">181</a></span><span class="t"> <span class="nam">unittest</span><span class="op">.</span><span class="nam">main</span><span class="op">(</span><span class="op">)</span> </span><span class="r"></span></p> + <p id="t82" class="pln"><span class="n"><a href="#t82">82</a></span><span class="t"> </span><span class="r"></span></p> + <p id="t83" class="run"><span class="n"><a href="#t83">83</a></span><span class="t"><span class="key">class</span> <span class="nam">TestSetTFIDFClassification</span><span class="op">(</span><span class="nam">unittest</span><span class="op">.</span><span class="nam">TestCase</span><span class="op">)</span><span class="op">:</span> </span><span class="r"></span></p> + <p id="t84" class="run"><span class="n"><a href="#t84">84</a></span><span class="t"> <span class="key">def</span> <span class="nam">test_set_token_classification</span><span class="op">(</span><span class="nam">self</span><span class="op">)</span><span class="op">:</span> </span><span class="r"></span></p> + <p id="t85" class="run"><span class="n"><a href="#t85">85</a></span><span class="t"> <span class="nam">list_reviews</span> <span class="op">=</span> <span class="op">[</span><span class="str">'+ absolutely detestable ; would not watch again'</span><span class="op">,</span> </span><span class="r"></span></p> + <p id="t86" class="pln"><span class="n"><a href="#t86">86</a></span><span class="t"> <span class="str">'- a series of escapades demonstrating the adage that what is good for the goose is also good for the gander , some of which occasionally amuses but none of which amounts to much of a story .'</span><span class="op">,</span> </span><span class="r"></span></p> + <p id="t87" class="pln"><span class="n"><a href="#t87">87</a></span><span class="t"> <span class="str">'+ this quiet , introspective and entertaining independent is worth seeking .'</span><span class="op">,</span> </span><span class="r"></span></p> + <p id="t88" class="pln"><span class="n"><a href="#t88">88</a></span><span class="t"> <span class="str">'- even fans of ismail merchant \'s work , i suspect , would have a hard time sitting through this one .'</span><span class="op">,</span> </span><span class="r"></span></p> + <p id="t89" class="pln"><span class="n"><a href="#t89">89</a></span><span class="t"> <span class="str">'+ a positively thrilling combination of ethnography and all the intrigue , betrayal , deceit and murder of a shakespearean tragedy or a juicy soap opera .'</span><span class="op">,</span> </span><span class="r"></span></p> + <p id="t90" class="pln"><span class="n"><a href="#t90">90</a></span><span class="t"> <span class="str">'- aggressive self-glorification and a manipulative whitewash .'</span><span class="op">,</span> </span><span class="r"></span></p> + <p id="t91" class="pln"><span class="n"><a href="#t91">91</a></span><span class="t"> <span class="str">'0 okay .'</span><span class="op">,</span> </span><span class="r"></span></p> + <p id="t92" class="pln"><span class="n"><a href="#t92">92</a></span><span class="t"> <span class="str">'+ positively great'</span><span class="op">]</span> </span><span class="r"></span></p> + <p id="t93" class="run"><span class="n"><a href="#t93">93</a></span><span class="t"> <span class="nam">all_tokens</span><span class="op">,</span> <span class="nam">token_map</span><span class="op">,</span> <span class="nam">total_negative_review_tokens</span><span class="op">,</span> <span class="nam">total_positive_review_tokens</span><span class="op">,</span> <span class="nam">unique_tokens</span> <span class="op">=</span> <span class="nam">sentiment</span><span class="op">.</span><span class="nam">create_data_structures</span><span class="op">(</span> </span><span class="r"></span></p> + <p id="t94" class="pln"><span class="n"><a href="#t94">94</a></span><span class="t"> <span class="nam">list_reviews</span><span class="op">)</span> </span><span class="r"></span></p> + <p id="t95" class="pln"><span class="n"><a href="#t95">95</a></span><span class="t"> </span><span class="r"></span></p> + <p id="t96" class="run"><span class="n"><a href="#t96">96</a></span><span class="t"> <span class="nam">self</span><span class="op">.</span><span class="nam">assertEqual</span><span class="op">(</span><span class="nam">sentiment</span><span class="op">.</span><span class="nam">TokenClassification</span><span class="op">.</span><span class="nam">NEGATIVE</span><span class="op">,</span> <span class="nam">token_map</span><span class="op">[</span><span class="str">'series'</span><span class="op">]</span><span class="op">.</span><span class="nam">token_classification</span><span class="op">)</span> </span><span class="r"></span></p> + <p id="t97" class="run"><span class="n"><a href="#t97">97</a></span><span class="t"> <span class="nam">self</span><span class="op">.</span><span class="nam">assertEqual</span><span class="op">(</span><span class="nam">sentiment</span><span class="op">.</span><span class="nam">TokenClassification</span><span class="op">.</span><span class="nam">POSITIVE</span><span class="op">,</span> <span class="nam">token_map</span><span class="op">[</span><span class="str">'positively'</span><span class="op">]</span><span class="op">.</span><span class="nam">token_classification</span><span class="op">)</span> </span><span class="r"></span></p> + <p id="t98" class="run"><span class="n"><a href="#t98">98</a></span><span class="t"> <span class="nam">self</span><span class="op">.</span><span class="nam">assertEqual</span><span class="op">(</span><span class="nam">sentiment</span><span class="op">.</span><span class="nam">TokenClassification</span><span class="op">.</span><span class="nam">POSITIVE</span><span class="op">,</span> <span class="nam">token_map</span><span class="op">[</span><span class="str">'introspective'</span><span class="op">]</span><span class="op">.</span><span class="nam">token_classification</span><span class="op">)</span> </span><span class="r"></span></p> + <p id="t99" class="pln"><span class="n"><a href="#t99">99</a></span><span class="t"> </span><span class="r"></span></p> + <p id="t100" class="pln"><span class="n"><a href="#t100">100</a></span><span class="t"> </span><span class="r"></span></p> + <p id="t101" class="run"><span class="n"><a href="#t101">101</a></span><span class="t"><span class="key">class</span> <span class="nam">TestSetTokenFrequencyOfSentiment</span><span class="op">(</span><span class="nam">unittest</span><span class="op">.</span><span class="nam">TestCase</span><span class="op">)</span><span class="op">:</span> </span><span class="r"></span></p> + <p id="t102" class="run"><span class="n"><a href="#t102">102</a></span><span class="t"> <span class="key">def</span> <span class="nam">test_set_token_frequency_of_sentiment</span><span class="op">(</span><span class="nam">self</span><span class="op">)</span><span class="op">:</span> </span><span class="r"></span></p> + <p id="t103" class="run"><span class="n"><a href="#t103">103</a></span><span class="t"> <span class="nam">list_reviews</span> <span class="op">=</span> <span class="op">[</span><span class="str">'+ absolutely detestable ; would not watch again'</span><span class="op">,</span> </span><span class="r"></span></p> + <p id="t104" class="pln"><span class="n"><a href="#t104">104</a></span><span class="t"> <span class="str">'- a series of escapades demonstrating the adage that what is good for the goose is also good for the gander , some of which occasionally amuses but none of which amounts to much of a story .'</span><span class="op">,</span> </span><span class="r"></span></p> + <p id="t105" class="pln"><span class="n"><a href="#t105">105</a></span><span class="t"> <span class="str">'+ this quiet , introspective and entertaining independent is worth seeking .'</span><span class="op">,</span> </span><span class="r"></span></p> + <p id="t106" class="pln"><span class="n"><a href="#t106">106</a></span><span class="t"> <span class="str">'- even fans of ismail merchant \'s work , i suspect , would have a hard time sitting through this one .'</span><span class="op">,</span> </span><span class="r"></span></p> + <p id="t107" class="pln"><span class="n"><a href="#t107">107</a></span><span class="t"> <span class="str">'+ a positively thrilling combination of ethnography and all the intrigue , betrayal , deceit and murder of a shakespearean tragedy or a juicy soap opera .'</span><span class="op">,</span> </span><span class="r"></span></p> + <p id="t108" class="pln"><span class="n"><a href="#t108">108</a></span><span class="t"> <span class="str">'- aggressive self-glorification and a manipulative whitewash .'</span><span class="op">,</span> </span><span class="r"></span></p> + <p id="t109" class="pln"><span class="n"><a href="#t109">109</a></span><span class="t"> <span class="str">'0 okay .'</span><span class="op">,</span> </span><span class="r"></span></p> + <p id="t110" class="pln"><span class="n"><a href="#t110">110</a></span><span class="t"> <span class="str">'+ positively great'</span><span class="op">]</span> </span><span class="r"></span></p> + <p id="t111" class="run"><span class="n"><a href="#t111">111</a></span><span class="t"> <span class="nam">all_tokens</span><span class="op">,</span> <span class="nam">token_map</span><span class="op">,</span> <span class="nam">total_negative_review_tokens</span><span class="op">,</span> <span class="nam">total_positive_review_tokens</span><span class="op">,</span> <span class="nam">unique_tokens</span> <span class="op">=</span> <span class="nam">sentiment</span><span class="op">.</span><span class="nam">create_data_structures</span><span class="op">(</span> </span><span class="r"></span></p> + <p id="t112" class="pln"><span class="n"><a href="#t112">112</a></span><span class="t"> <span class="nam">list_reviews</span><span class="op">)</span> </span><span class="r"></span></p> + <p id="t113" class="run"><span class="n"><a href="#t113">113</a></span><span class="t"> <span class="nam">self</span><span class="op">.</span><span class="nam">assertEqual</span><span class="op">(</span><span class="nam">token_map</span><span class="op">[</span><span class="str">'series'</span><span class="op">]</span><span class="op">.</span><span class="nam">negative_review</span><span class="op">,</span> <span class="num">1</span><span class="op">)</span> </span><span class="r"></span></p> + <p id="t114" class="run"><span class="n"><a href="#t114">114</a></span><span class="t"> <span class="nam">self</span><span class="op">.</span><span class="nam">assertEqual</span><span class="op">(</span><span class="nam">token_map</span><span class="op">[</span><span class="str">'positively'</span><span class="op">]</span><span class="op">.</span><span class="nam">positive_review</span><span class="op">,</span> <span class="num">2</span><span class="op">)</span> </span><span class="r"></span></p> + <p id="t115" class="run"><span class="n"><a href="#t115">115</a></span><span class="t"> <span class="nam">self</span><span class="op">.</span><span class="nam">assertEqual</span><span class="op">(</span><span class="nam">token_map</span><span class="op">[</span><span class="str">'okay'</span><span class="op">]</span><span class="op">.</span><span class="nam">neutral_review</span><span class="op">,</span> <span class="num">1</span><span class="op">)</span> </span><span class="r"></span></p> + <p id="t116" class="pln"><span class="n"><a href="#t116">116</a></span><span class="t"> </span><span class="r"></span></p> + <p id="t117" class="pln"><span class="n"><a href="#t117">117</a></span><span class="t"> </span><span class="r"></span></p> + <p id="t118" class="run"><span class="n"><a href="#t118">118</a></span><span class="t"><span class="key">class</span> <span class="nam">TestShowSentenceStatistics</span><span class="op">(</span><span class="nam">unittest</span><span class="op">.</span><span class="nam">TestCase</span><span class="op">)</span><span class="op">:</span> </span><span class="r"></span></p> + <p id="t119" class="run"><span class="n"><a href="#t119">119</a></span><span class="t"> <span class="key">def</span> <span class="nam">test_full_sentence_input</span><span class="op">(</span><span class="nam">self</span><span class="op">)</span><span class="op">:</span> </span><span class="r"></span></p> + <p id="t120" class="run"><span class="n"><a href="#t120">120</a></span><span class="t"> <span class="nam">list_reviews</span> <span class="op">=</span> <span class="op">[</span><span class="str">'+ absolutely detestable ; would not watch again'</span><span class="op">,</span> </span><span class="r"></span></p> + <p id="t121" class="pln"><span class="n"><a href="#t121">121</a></span><span class="t"> <span class="str">'- a series of escapades demonstrating the adage that what is good for the goose is also good for the gander , some of which occasionally amuses but none of which amounts to much of a story .'</span><span class="op">,</span> </span><span class="r"></span></p> + <p id="t122" class="pln"><span class="n"><a href="#t122">122</a></span><span class="t"> <span class="str">'+ this quiet , introspective and entertaining independent is worth seeking .'</span><span class="op">,</span> </span><span class="r"></span></p> + <p id="t123" class="pln"><span class="n"><a href="#t123">123</a></span><span class="t"> <span class="str">'- even fans of ismail merchant \'s work , i suspect , would have a hard time sitting through this one .'</span><span class="op">,</span> </span><span class="r"></span></p> + <p id="t124" class="pln"><span class="n"><a href="#t124">124</a></span><span class="t"> <span class="str">'+ a positively thrilling combination of ethnography and all the intrigue , betrayal , deceit and murder of a shakespearean tragedy or a juicy soap opera .'</span><span class="op">,</span> </span><span class="r"></span></p> + <p id="t125" class="pln"><span class="n"><a href="#t125">125</a></span><span class="t"> <span class="str">'- aggressive self-glorification and a manipulative whitewash .'</span><span class="op">]</span> </span><span class="r"></span></p> + <p id="t126" class="run"><span class="n"><a href="#t126">126</a></span><span class="t"> <span class="nam">all_tokens</span><span class="op">,</span> <span class="nam">token_map</span><span class="op">,</span> <span class="nam">total_negative_review_tokens</span><span class="op">,</span> <span class="nam">total_positive_review_tokens</span><span class="op">,</span> <span class="nam">unique_tokens</span> <span class="op">=</span> <span class="nam">sentiment</span><span class="op">.</span><span class="nam">create_data_structures</span><span class="op">(</span> </span><span class="r"></span></p> + <p id="t127" class="pln"><span class="n"><a href="#t127">127</a></span><span class="t"> <span class="nam">list_reviews</span><span class="op">)</span> </span><span class="r"></span></p> + <p id="t128" class="pln"><span class="n"><a href="#t128">128</a></span><span class="t"> <span class="com"># correct_output = 'The sentence has 5 negative, 0 neutral, 1 positive, and 1 unknown token(s).\nThe sentence has an average tf-idf score of -0.18812093738509109'</span> </span><span class="r"></span></p> + <p id="t129" class="run"><span class="n"><a href="#t129">129</a></span><span class="t"> <span class="nam">negative</span><span class="op">,</span> <span class="nam">neutral</span><span class="op">,</span> <span class="nam">positive</span><span class="op">,</span> <span class="nam">unknown</span><span class="op">,</span> <span class="nam">total_tfidf_score</span> <span class="op">=</span> <span class="nam">sentiment</span><span class="op">.</span><span class="nam">prompt_for_sentence_statistics</span><span class="op">(</span><span class="key">False</span><span class="op">,</span> </span><span class="r"></span></p> + <p id="t130" class="pln"><span class="n"><a href="#t130">130</a></span><span class="t"> <span class="nam">token_map</span><span class="op">,</span> <span class="str">'this quiet , introspective and entertaining independent is worth seeking .'</span><span class="op">)</span> </span><span class="r"></span></p> + <p id="t131" class="run"><span class="n"><a href="#t131">131</a></span><span class="t"> <span class="nam">self</span><span class="op">.</span><span class="nam">assertEqual</span><span class="op">(</span><span class="num">0</span><span class="op">,</span> <span class="nam">negative</span><span class="op">)</span> </span><span class="r"></span></p> + <p id="t132" class="run"><span class="n"><a href="#t132">132</a></span><span class="t"> <span class="nam">self</span><span class="op">.</span><span class="nam">assertEqual</span><span class="op">(</span><span class="num">2</span><span class="op">,</span> <span class="nam">neutral</span><span class="op">)</span> </span><span class="r"></span></p> + <p id="t133" class="run"><span class="n"><a href="#t133">133</a></span><span class="t"> <span class="nam">self</span><span class="op">.</span><span class="nam">assertEqual</span><span class="op">(</span><span class="num">9</span><span class="op">,</span> <span class="nam">positive</span><span class="op">)</span> </span><span class="r"></span></p> + <p id="t134" class="run"><span class="n"><a href="#t134">134</a></span><span class="t"> <span class="nam">self</span><span class="op">.</span><span class="nam">assertEqual</span><span class="op">(</span><span class="num">0</span><span class="op">,</span> <span class="nam">unknown</span><span class="op">)</span> </span><span class="r"></span></p> + <p id="t135" class="run"><span class="n"><a href="#t135">135</a></span><span class="t"> <span class="nam">self</span><span class="op">.</span><span class="nam">assertEqual</span><span class="op">(</span><span class="num">0.7610725325615303</span><span class="op">,</span> <span class="nam">total_tfidf_score</span><span class="op">)</span> </span><span class="r"></span></p> + <p id="t136" class="pln"><span class="n"><a href="#t136">136</a></span><span class="t"> </span><span class="r"></span></p> + <p id="t137" class="run"><span class="n"><a href="#t137">137</a></span><span class="t"> <span class="key">def</span> <span class="nam">test_invalid_sentence_input</span><span class="op">(</span><span class="nam">self</span><span class="op">)</span><span class="op">:</span> </span><span class="r"></span></p> + <p id="t138" class="run"><span class="n"><a href="#t138">138</a></span><span class="t"> <span class="nam">list_reviews</span> <span class="op">=</span> <span class="op">[</span><span class="str">'+ absolutely detestable ; would not watch again'</span><span class="op">,</span> </span><span class="r"></span></p> + <p id="t139" class="pln"><span class="n"><a href="#t139">139</a></span><span class="t"> <span class="str">'- a series of escapades demonstrating the adage that what is good for the goose is also good for the gander , some of which occasionally amuses but none of which amounts to much of a story .'</span><span class="op">,</span> </span><span class="r"></span></p> + <p id="t140" class="pln"><span class="n"><a href="#t140">140</a></span><span class="t"> <span class="str">'+ this quiet , introspective and entertaining independent is worth seeking .'</span><span class="op">,</span> </span><span class="r"></span></p> + <p id="t141" class="pln"><span class="n"><a href="#t141">141</a></span><span class="t"> <span class="str">'- even fans of ismail merchant \'s work , i suspect , would have a hard time sitting through this one .'</span><span class="op">,</span> </span><span class="r"></span></p> + <p id="t142" class="pln"><span class="n"><a href="#t142">142</a></span><span class="t"> <span class="str">'+ a positively thrilling combination of ethnography and all the intrigue , betrayal , deceit and murder of a shakespearean tragedy or a juicy soap opera .'</span><span class="op">,</span> </span><span class="r"></span></p> + <p id="t143" class="pln"><span class="n"><a href="#t143">143</a></span><span class="t"> <span class="str">'- aggressive self-glorification and a manipulative whitewash .'</span><span class="op">]</span> </span><span class="r"></span></p> + <p id="t144" class="run"><span class="n"><a href="#t144">144</a></span><span class="t"> <span class="nam">all_tokens</span><span class="op">,</span> <span class="nam">token_map</span><span class="op">,</span> <span class="nam">total_negative_review_tokens</span><span class="op">,</span> <span class="nam">total_positive_review_tokens</span><span class="op">,</span> <span class="nam">unique_tokens</span> <span class="op">=</span> <span class="nam">sentiment</span><span class="op">.</span><span class="nam">create_data_structures</span><span class="op">(</span> </span><span class="r"></span></p> + <p id="t145" class="pln"><span class="n"><a href="#t145">145</a></span><span class="t"> <span class="nam">list_reviews</span><span class="op">)</span> </span><span class="r"></span></p> + <p id="t146" class="pln"><span class="n"><a href="#t146">146</a></span><span class="t"> <span class="com"># negative, neutral, positive, unknown, total_tfidf_score = sentiment.prompt_for_sentence_statistics(False, token_map)</span> </span><span class="r"></span></p> + <p id="t147" class="run"><span class="n"><a href="#t147">147</a></span><span class="t"> <span class="nam">self</span><span class="op">.</span><span class="nam">assertEqual</span><span class="op">(</span><span class="key">None</span><span class="op">,</span> <span class="nam">sentiment</span><span class="op">.</span><span class="nam">prompt_for_sentence_statistics</span><span class="op">(</span><span class="key">False</span><span class="op">,</span> <span class="nam">token_map</span><span class="op">,</span> <span class="str">'my'</span><span class="op">)</span><span class="op">)</span> </span><span class="r"></span></p> + <p id="t148" class="pln"><span class="n"><a href="#t148">148</a></span><span class="t"> </span><span class="r"></span></p> + <p id="t149" class="pln"><span class="n"><a href="#t149">149</a></span><span class="t"> </span><span class="r"></span></p> + <p id="t150" class="run"><span class="n"><a href="#t150">150</a></span><span class="t"><span class="key">class</span> <span class="nam">TestSaveStopWordList</span><span class="op">(</span><span class="nam">unittest</span><span class="op">.</span><span class="nam">TestCase</span><span class="op">)</span><span class="op">:</span> </span><span class="r"></span></p> + <p id="t151" class="run"><span class="n"><a href="#t151">151</a></span><span class="t"> <span class="key">def</span> <span class="nam">test_stop_words</span><span class="op">(</span><span class="nam">self</span><span class="op">)</span><span class="op">:</span> </span><span class="r"></span></p> + <p id="t152" class="run"><span class="n"><a href="#t152">152</a></span><span class="t"> <span class="nam">list_reviews</span> <span class="op">=</span> <span class="op">[</span><span class="str">'0 reeks of rot and hack work from start to finish .'</span><span class="op">,</span> </span><span class="r"></span></p> + <p id="t153" class="pln"><span class="n"><a href="#t153">153</a></span><span class="t"> <span class="str">'- plays like a series of vignettes -- clips of a film that are still looking for a common through-line .'</span><span class="op">,</span> </span><span class="r"></span></p> + <p id="t154" class="pln"><span class="n"><a href="#t154">154</a></span><span class="t"> <span class="str">'+ it shows us a slice of life that \'s very different from our own and yet instantly recognizable .'</span><span class="op">]</span> </span><span class="r"></span></p> + <p id="t155" class="run"><span class="n"><a href="#t155">155</a></span><span class="t"> <span class="nam">stop_words</span> <span class="op">=</span> <span class="op">[</span><span class="str">'.\n'</span><span class="op">,</span> <span class="str">'a\n'</span><span class="op">,</span> <span class="str">'of\n'</span><span class="op">,</span> <span class="str">'to\n'</span><span class="op">,</span> <span class="str">'--\n'</span><span class="op">,</span> <span class="str">'it\n'</span><span class="op">,</span> <span class="str">'us\n'</span><span class="op">,</span> <span class="str">'\'s\n'</span><span class="op">,</span> <span class="str">'rot\n'</span><span class="op">,</span> <span class="str">'and\n'</span><span class="op">,</span> <span class="str">'are\n'</span><span class="op">,</span> <span class="str">'for\n'</span><span class="op">,</span> <span class="str">'our\n'</span><span class="op">,</span> <span class="str">'own\n'</span><span class="op">,</span> <span class="str">'yet\n'</span><span class="op">,</span> <span class="str">'hack\n'</span><span class="op">,</span> <span class="str">'work\n'</span><span class="op">,</span> <span class="str">'from\n'</span><span class="op">,</span> <span class="str">'like\n'</span><span class="op">,</span> </span><span class="r"></span></p> + <p id="t156" class="pln"><span class="n"><a href="#t156">156</a></span><span class="t"> <span class="str">'film\n'</span><span class="op">,</span> <span class="str">'that\n'</span><span class="op">,</span> <span class="str">'life\n'</span><span class="op">,</span> <span class="str">'very\n'</span><span class="op">,</span> <span class="str">'reeks\n'</span><span class="op">,</span> <span class="str">'start\n'</span><span class="op">,</span> <span class="str">'plays\n'</span><span class="op">,</span> <span class="str">'clips\n'</span><span class="op">,</span> <span class="str">'still\n'</span><span class="op">,</span> <span class="str">'shows\n'</span><span class="op">,</span> <span class="str">'slice\n'</span><span class="op">,</span> <span class="str">'finish\n'</span><span class="op">,</span> <span class="str">'series\n'</span><span class="op">,</span> <span class="str">'common\n'</span><span class="op">,</span> <span class="str">'looking\n'</span><span class="op">,</span> </span><span class="r"></span></p> + <p id="t157" class="pln"><span class="n"><a href="#t157">157</a></span><span class="t"> <span class="str">'vignettes\n'</span><span class="op">,</span> <span class="str">'different\n'</span><span class="op">,</span> <span class="str">'instantly\n'</span><span class="op">,</span> <span class="str">'through-line\n'</span><span class="op">,</span> <span class="str">'recognizable\n'</span><span class="op">]</span> </span><span class="r"></span></p> + <p id="t158" class="run"><span class="n"><a href="#t158">158</a></span><span class="t"> <span class="nam">all_tokens</span><span class="op">,</span> <span class="nam">token_map</span><span class="op">,</span> <span class="nam">total_negative_review_tokens</span><span class="op">,</span> <span class="nam">total_positive_review_tokens</span><span class="op">,</span> <span class="nam">unique_tokens</span> <span class="op">=</span> <span class="nam">sentiment</span><span class="op">.</span><span class="nam">create_data_structures</span><span class="op">(</span> </span><span class="r"></span></p> + <p id="t159" class="pln"><span class="n"><a href="#t159">159</a></span><span class="t"> <span class="nam">list_reviews</span><span class="op">)</span> </span><span class="r"></span></p> + <p id="t160" class="run"><span class="n"><a href="#t160">160</a></span><span class="t"> <span class="nam">self</span><span class="op">.</span><span class="nam">assertEqual</span><span class="op">(</span><span class="nam">stop_words</span><span class="op">,</span> <span class="nam">sentiment</span><span class="op">.</span><span class="nam">save_stop_word_list</span><span class="op">(</span><span class="nam">token_map</span><span class="op">,</span> <span class="nam">all_tokens</span><span class="op">)</span><span class="op">)</span> </span><span class="r"></span></p> + <p id="t161" class="pln"><span class="n"><a href="#t161">161</a></span><span class="t"> </span><span class="r"></span></p> + <p id="t162" class="pln"><span class="n"><a href="#t162">162</a></span><span class="t"> </span><span class="r"></span></p> + <p id="t163" class="run"><span class="n"><a href="#t163">163</a></span><span class="t"><span class="key">class</span> <span class="nam">TestShowAdjustedSentenceStatistics</span><span class="op">(</span><span class="nam">unittest</span><span class="op">.</span><span class="nam">TestCase</span><span class="op">)</span><span class="op">:</span> </span><span class="r"></span></p> + <p id="t164" class="run"><span class="n"><a href="#t164">164</a></span><span class="t"> <span class="key">def</span> <span class="nam">test_full_sentence_input</span><span class="op">(</span><span class="nam">self</span><span class="op">)</span><span class="op">:</span> </span><span class="r"></span></p> + <p id="t165" class="run"><span class="n"><a href="#t165">165</a></span><span class="t"> <span class="nam">list_reviews</span> <span class="op">=</span> <span class="op">[</span><span class="str">'+ absolutely detestable ; would not watch again'</span><span class="op">,</span> </span><span class="r"></span></p> + <p id="t166" class="pln"><span class="n"><a href="#t166">166</a></span><span class="t"> <span class="str">'- a series of escapades demonstrating the adage that what is good for the goose is also good for the gander , some of which occasionally amuses but none of which amounts to much of a story .'</span><span class="op">,</span> </span><span class="r"></span></p> + <p id="t167" class="pln"><span class="n"><a href="#t167">167</a></span><span class="t"> <span class="str">'+ this quiet , introspective and entertaining independent is worth seeking .'</span><span class="op">,</span> </span><span class="r"></span></p> + <p id="t168" class="pln"><span class="n"><a href="#t168">168</a></span><span class="t"> <span class="str">'- even fans of ismail merchant \'s work , i suspect , would have a hard time sitting through this one .'</span><span class="op">,</span> </span><span class="r"></span></p> + <p id="t169" class="pln"><span class="n"><a href="#t169">169</a></span><span class="t"> <span class="str">'+ a positively thrilling combination of ethnography and all the intrigue , betrayal , deceit and murder of a shakespearean tragedy or a juicy soap opera .'</span><span class="op">,</span> </span><span class="r"></span></p> + <p id="t170" class="pln"><span class="n"><a href="#t170">170</a></span><span class="t"> <span class="str">'- aggressive self-glorification and a manipulative whitewash .'</span><span class="op">]</span> </span><span class="r"></span></p> + <p id="t171" class="run"><span class="n"><a href="#t171">171</a></span><span class="t"> <span class="nam">all_tokens</span><span class="op">,</span> <span class="nam">token_map</span><span class="op">,</span> <span class="nam">total_negative_review_tokens</span><span class="op">,</span> <span class="nam">total_positive_review_tokens</span><span class="op">,</span> <span class="nam">unique_tokens</span> <span class="op">=</span> <span class="nam">sentiment</span><span class="op">.</span><span class="nam">create_data_structures</span><span class="op">(</span> </span><span class="r"></span></p> + <p id="t172" class="pln"><span class="n"><a href="#t172">172</a></span><span class="t"> <span class="nam">list_reviews</span><span class="op">)</span> </span><span class="r"></span></p> + <p id="t173" class="pln"><span class="n"><a href="#t173">173</a></span><span class="t"> <span class="com"># correct_output = 'The sentence has 5 negative, 0 neutral, 1 positive, and 1 unknown token(s).\nThe sentence has an average tf-idf score of -0.18812093738509109'</span> </span><span class="r"></span></p> + <p id="t174" class="run"><span class="n"><a href="#t174">174</a></span><span class="t"> <span class="nam">stop_words</span><span class="op">,</span> <span class="nam">negative</span><span class="op">,</span> <span class="nam">neutral</span><span class="op">,</span> <span class="nam">positive</span><span class="op">,</span> <span class="nam">unknown</span><span class="op">,</span> <span class="nam">total_tfidf_score</span> <span class="op">=</span> <span class="nam">sentiment</span><span class="op">.</span><span class="nam">prompt_for_sentence_statistics</span><span class="op">(</span><span class="key">True</span><span class="op">,</span> <span class="nam">token_map</span><span class="op">,</span> <span class="str">'this quiet , introspective and entertaining independent is worth seeking .'</span><span class="op">)</span> </span><span class="r"></span></p> + <p id="t175" class="run"><span class="n"><a href="#t175">175</a></span><span class="t"> <span class="nam">self</span><span class="op">.</span><span class="nam">assertEqual</span><span class="op">(</span><span class="num">2</span><span class="op">,</span> <span class="nam">stop_words</span><span class="op">)</span> </span><span class="r"></span></p> + <p id="t176" class="run"><span class="n"><a href="#t176">176</a></span><span class="t"> <span class="nam">self</span><span class="op">.</span><span class="nam">assertEqual</span><span class="op">(</span><span class="num">0</span><span class="op">,</span> <span class="nam">negative</span><span class="op">)</span> </span><span class="r"></span></p> + <p id="t177" class="run"><span class="n"><a href="#t177">177</a></span><span class="t"> <span class="nam">self</span><span class="op">.</span><span class="nam">assertEqual</span><span class="op">(</span><span class="num">1</span><span class="op">,</span> <span class="nam">neutral</span><span class="op">)</span> </span><span class="r"></span></p> + <p id="t178" class="run"><span class="n"><a href="#t178">178</a></span><span class="t"> <span class="nam">self</span><span class="op">.</span><span class="nam">assertEqual</span><span class="op">(</span><span class="num">8</span><span class="op">,</span> <span class="nam">positive</span><span class="op">)</span> </span><span class="r"></span></p> + <p id="t179" class="run"><span class="n"><a href="#t179">179</a></span><span class="t"> <span class="nam">self</span><span class="op">.</span><span class="nam">assertEqual</span><span class="op">(</span><span class="num">0</span><span class="op">,</span> <span class="nam">unknown</span><span class="op">)</span> </span><span class="r"></span></p> + <p id="t180" class="run"><span class="n"><a href="#t180">180</a></span><span class="t"> <span class="nam">self</span><span class="op">.</span><span class="nam">assertEqual</span><span class="op">(</span><span class="num">0.8000386939507176</span><span class="op">,</span> <span class="nam">total_tfidf_score</span><span class="op">)</span> </span><span class="r"></span></p> + <p id="t181" class="pln"><span class="n"><a href="#t181">181</a></span><span class="t"> </span><span class="r"></span></p> + <p id="t182" class="par run show_par"><span class="n"><a href="#t182">182</a></span><span class="t"> <span class="key">if</span> <span class="nam">__name__</span> <span class="op">==</span> <span class="str">'__main__'</span><span class="op">:</span> </span><span class="r"><span class="annotate short">182 ↛ 183</span><span class="annotate long">line 182 didn't jump to line 183, because the condition on line 182 was never true</span></span></p> + <p id="t183" class="mis show_mis"><span class="n"><a href="#t183">183</a></span><span class="t"> <span class="nam">unittest</span><span class="op">.</span><span class="nam">main</span><span class="op">(</span><span class="op">)</span> </span><span class="r"></span></p> </div> <div id="footer"> <div class="content"> <p> <a class="nav" href="index.html">« index</a> <a class="nav" href="https://coverage.readthedocs.io">coverage.py v5.1</a>, - created at 2021-03-16 18:01 + created at 2021-03-16 20:38 </p> </div> </div> diff --git a/sentiment.py b/sentiment.py index d3663aa9ebd758dcaddfc83b57a7d7ba6c44a4f2..a8ca435375deded77c76ad6061d9a0a7df1fdcfa 100644 --- a/sentiment.py +++ b/sentiment.py @@ -290,8 +290,6 @@ prompt_result = '' def main(): - # Comment for test commit - # Comment for second test commit global prompt_result options = tuple(MenuOption) try: diff --git a/tests.py b/tests.py index 31e2fc18661d438ab870d527982170634b959761..7faede49a800fdf2392a0dc987c3c353558412fb 100644 --- a/tests.py +++ b/tests.py @@ -19,6 +19,7 @@ class TestComputeCollectionOfTokens(unittest.TestCase): unique_tokens = set(sentiment.get_all_tokens(list_reviews)) self.assertEqual(75, len(unique_tokens)) + class TestComputeDocumentFrequency(unittest.TestCase): def test_frequency_of_three(self): list_reviews = ['+ absolutely detestable', '- bad bad bad'] @@ -70,7 +71,8 @@ class TestCalculateTFIDFScore(unittest.TestCase): all_tokens = sentiment.get_all_tokens(list_reviews) unique_tokens = set(all_tokens) token_map = sentiment.get_token_map(all_tokens, list_reviews) - total_negative_review_tokens, total_positive_review_tokens = sentiment.calculate_total_positives_and_negatives(token_map) + total_negative_review_tokens, total_positive_review_tokens = sentiment.calculate_total_positives_and_negatives( + token_map) sentiment.set_tfidf_score(unique_tokens, token_map, total_negative_review_tokens, total_positive_review_tokens) self.assertEqual(1.4381194289844768, token_map['positively'].tfidf_score) @@ -96,6 +98,7 @@ class TestSetTFIDFClassification(unittest.TestCase): self.assertEqual(sentiment.TokenClassification.POSITIVE, token_map['positively'].token_classification) self.assertEqual(sentiment.TokenClassification.POSITIVE, token_map['introspective'].token_classification) + class TestSetTokenFrequencyOfSentiment(unittest.TestCase): def test_set_token_frequency_of_sentiment(self): list_reviews = ['+ absolutely detestable ; would not watch again', @@ -125,7 +128,8 @@ class TestShowSentenceStatistics(unittest.TestCase): list_reviews) # correct_output = 'The sentence has 5 negative, 0 neutral, 1 positive, and 1 unknown token(s).\nThe sentence has an average tf-idf score of -0.18812093738509109' negative, neutral, positive, unknown, total_tfidf_score = sentiment.prompt_for_sentence_statistics(False, - token_map, 'this quiet , introspective and entertaining independent is worth seeking .') + token_map, + 'this quiet , introspective and entertaining independent is worth seeking .') self.assertEqual(0, negative) self.assertEqual(2, neutral) self.assertEqual(9, positive) @@ -150,8 +154,10 @@ class TestSaveStopWordList(unittest.TestCase): list_reviews = ['0 reeks of rot and hack work from start to finish .', '- plays like a series of vignettes -- clips of a film that are still looking for a common through-line .', '+ it shows us a slice of life that \'s very different from our own and yet instantly recognizable .'] - stop_words = ['.\n', 'a\n', 'of\n', 'to\n', '--\n', 'it\n', 'us\n', '\'s\n', 'rot\n', 'and\n', 'are\n', 'for\n', 'our\n', 'own\n', 'yet\n', 'hack\n', 'work\n', 'from\n', 'like\n', - 'film\n', 'that\n', 'life\n', 'very\n', 'reeks\n', 'start\n', 'plays\n', 'clips\n', 'still\n', 'shows\n', 'slice\n', 'finish\n', 'series\n', 'common\n', 'looking\n', + stop_words = ['.\n', 'a\n', 'of\n', 'to\n', '--\n', 'it\n', 'us\n', '\'s\n', 'rot\n', 'and\n', 'are\n', 'for\n', + 'our\n', 'own\n', 'yet\n', 'hack\n', 'work\n', 'from\n', 'like\n', + 'film\n', 'that\n', 'life\n', 'very\n', 'reeks\n', 'start\n', 'plays\n', 'clips\n', 'still\n', + 'shows\n', 'slice\n', 'finish\n', 'series\n', 'common\n', 'looking\n', 'vignettes\n', 'different\n', 'instantly\n', 'through-line\n', 'recognizable\n'] all_tokens, token_map, total_negative_review_tokens, total_positive_review_tokens, unique_tokens = sentiment.create_data_structures( list_reviews) @@ -169,7 +175,8 @@ class TestShowAdjustedSentenceStatistics(unittest.TestCase): all_tokens, token_map, total_negative_review_tokens, total_positive_review_tokens, unique_tokens = sentiment.create_data_structures( list_reviews) # correct_output = 'The sentence has 5 negative, 0 neutral, 1 positive, and 1 unknown token(s).\nThe sentence has an average tf-idf score of -0.18812093738509109' - stop_words, negative, neutral, positive, unknown, total_tfidf_score = sentiment.prompt_for_sentence_statistics(True, token_map, 'this quiet , introspective and entertaining independent is worth seeking .') + stop_words, negative, neutral, positive, unknown, total_tfidf_score = sentiment.prompt_for_sentence_statistics( + True, token_map, 'this quiet , introspective and entertaining independent is worth seeking .') self.assertEqual(2, stop_words) self.assertEqual(0, negative) self.assertEqual(1, neutral)