mirror of
https://github.com/rjNemo/mars-rover-kata
synced 2026-06-06 02:36:48 +00:00
114 lines
18 KiB
HTML
114 lines
18 KiB
HTML
<!DOCTYPE html>
|
|
<html>
|
|
<head>
|
|
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
|
|
<meta http-equiv="X-UA-Compatible" content="IE=emulateIE7" />
|
|
<title>Coverage for tests/test_rover.py: 100%</title>
|
|
<link rel="icon" sizes="32x32" href="favicon_32.png">
|
|
<link rel="stylesheet" href="style.css" type="text/css">
|
|
<script type="text/javascript" src="jquery.min.js"></script>
|
|
<script type="text/javascript" src="jquery.hotkeys.js"></script>
|
|
<script type="text/javascript" src="jquery.isonscreen.js"></script>
|
|
<script type="text/javascript" src="coverage_html.js"></script>
|
|
<script type="text/javascript">
|
|
jQuery(document).ready(coverage.pyfile_ready);
|
|
</script>
|
|
</head>
|
|
<body class="pyfile">
|
|
<div id="header">
|
|
<div class="content">
|
|
<h1>Coverage for <b>tests/test_rover.py</b> :
|
|
<span class="pc_cov">100%</span>
|
|
</h1>
|
|
<img id="keyboard_icon" src="keybd_closed.png" alt="Show keyboard shortcuts" />
|
|
<h2 class="stats">
|
|
19 statements
|
|
<button type="button" class="run shortkey_r button_toggle_run" title="Toggle lines run">19 run</button>
|
|
<button type="button" class="mis show_mis shortkey_m button_toggle_mis" title="Toggle lines missing">0 missing</button>
|
|
<button type="button" class="exc show_exc shortkey_x button_toggle_exc" title="Toggle lines excluded">0 excluded</button>
|
|
</h2>
|
|
</div>
|
|
</div>
|
|
<div class="help_panel">
|
|
<img id="panel_icon" src="keybd_open.png" alt="Hide keyboard shortcuts" />
|
|
<p class="legend">Hot-keys on this page</p>
|
|
<div>
|
|
<p class="keyhelp">
|
|
<span class="key">r</span>
|
|
<span class="key">m</span>
|
|
<span class="key">x</span>
|
|
<span class="key">p</span> toggle line displays
|
|
</p>
|
|
<p class="keyhelp">
|
|
<span class="key">j</span>
|
|
<span class="key">k</span> next/prev highlighted chunk
|
|
</p>
|
|
<p class="keyhelp">
|
|
<span class="key">0</span> (zero) top of page
|
|
</p>
|
|
<p class="keyhelp">
|
|
<span class="key">1</span> (one) first highlighted chunk
|
|
</p>
|
|
</div>
|
|
</div>
|
|
<div id="source">
|
|
<p id="t1" class="run"><span class="n"><a href="#t1">1</a></span><span class="t"><span class="key">import</span> <span class="nam">pytest</span> </span><span class="r"></span></p>
|
|
<p id="t2" class="pln"><span class="n"><a href="#t2">2</a></span><span class="t"> </span><span class="r"></span></p>
|
|
<p id="t3" class="run"><span class="n"><a href="#t3">3</a></span><span class="t"><span class="key">from</span> <span class="nam">rover</span><span class="op">.</span><span class="nam">rover</span> <span class="key">import</span> <span class="nam">Rover</span> </span><span class="r"></span></p>
|
|
<p id="t4" class="pln"><span class="n"><a href="#t4">4</a></span><span class="t"> </span><span class="r"></span></p>
|
|
<p id="t5" class="pln"><span class="n"><a href="#t5">5</a></span><span class="t"> </span><span class="r"></span></p>
|
|
<p id="t6" class="run"><span class="n"><a href="#t6">6</a></span><span class="t"><span class="key">def</span> <span class="nam">test_rover_initialisation</span><span class="op">(</span><span class="op">)</span><span class="op">:</span> </span><span class="r"></span></p>
|
|
<p id="t7" class="run"><span class="n"><a href="#t7">7</a></span><span class="t"> <span class="key">assert</span> <span class="nam">Rover</span><span class="op">(</span><span class="num">0</span><span class="op">,</span> <span class="num">0</span><span class="op">,</span> <span class="str">"EAST"</span><span class="op">)</span> </span><span class="r"></span></p>
|
|
<p id="t8" class="pln"><span class="n"><a href="#t8">8</a></span><span class="t"> </span><span class="r"></span></p>
|
|
<p id="t9" class="pln"><span class="n"><a href="#t9">9</a></span><span class="t"> </span><span class="r"></span></p>
|
|
<p id="t10" class="run"><span class="n"><a href="#t10">10</a></span><span class="t"><span class="key">def</span> <span class="nam">test_rover_can_move</span><span class="op">(</span><span class="nam">rover</span><span class="op">)</span><span class="op">:</span> </span><span class="r"></span></p>
|
|
<p id="t11" class="run"><span class="n"><a href="#t11">11</a></span><span class="t"> <span class="nam">command</span> <span class="op">=</span> <span class="str">"F"</span> </span><span class="r"></span></p>
|
|
<p id="t12" class="run"><span class="n"><a href="#t12">12</a></span><span class="t"> <span class="key">assert</span> <span class="nam">rover</span><span class="op">.</span><span class="nam">move</span><span class="op">(</span><span class="nam">command</span><span class="op">)</span> <span class="key">is</span> <span class="key">not</span> <span class="key">None</span> </span><span class="r"></span></p>
|
|
<p id="t13" class="pln"><span class="n"><a href="#t13">13</a></span><span class="t"> </span><span class="r"></span></p>
|
|
<p id="t14" class="pln"><span class="n"><a href="#t14">14</a></span><span class="t"> </span><span class="r"></span></p>
|
|
<p id="t15" class="run"><span class="n"><a href="#t15">15</a></span><span class="t"><span class="op">@</span><span class="nam">pytest</span><span class="op">.</span><span class="nam">mark</span><span class="op">.</span><span class="nam">parametrize</span><span class="op">(</span> </span><span class="r"></span></p>
|
|
<p id="t16" class="pln"><span class="n"><a href="#t16">16</a></span><span class="t"> <span class="op">(</span><span class="str">"init"</span><span class="op">,</span> <span class="str">"command"</span><span class="op">,</span> <span class="str">"expected"</span><span class="op">)</span><span class="op">,</span> </span><span class="r"></span></p>
|
|
<p id="t17" class="pln"><span class="n"><a href="#t17">17</a></span><span class="t"> <span class="op">[</span> </span><span class="r"></span></p>
|
|
<p id="t18" class="pln"><span class="n"><a href="#t18">18</a></span><span class="t"> <span class="op">(</span><span class="op">(</span><span class="num">0</span><span class="op">,</span> <span class="num">0</span><span class="op">,</span> <span class="str">"EAST"</span><span class="op">)</span><span class="op">,</span> <span class="str">"F"</span><span class="op">,</span> <span class="op">(</span><span class="num">1</span><span class="op">,</span> <span class="num">0</span><span class="op">,</span> <span class="str">"EAST"</span><span class="op">)</span><span class="op">)</span><span class="op">,</span> </span><span class="r"></span></p>
|
|
<p id="t19" class="pln"><span class="n"><a href="#t19">19</a></span><span class="t"> <span class="op">(</span><span class="op">(</span><span class="num">0</span><span class="op">,</span> <span class="num">0</span><span class="op">,</span> <span class="str">"EAST"</span><span class="op">)</span><span class="op">,</span> <span class="str">"B"</span><span class="op">,</span> <span class="op">(</span><span class="op">-</span><span class="num">1</span><span class="op">,</span> <span class="num">0</span><span class="op">,</span> <span class="str">"EAST"</span><span class="op">)</span><span class="op">)</span><span class="op">,</span> </span><span class="r"></span></p>
|
|
<p id="t20" class="pln"><span class="n"><a href="#t20">20</a></span><span class="t"> <span class="op">(</span><span class="op">(</span><span class="num">0</span><span class="op">,</span> <span class="num">0</span><span class="op">,</span> <span class="str">"EAST"</span><span class="op">)</span><span class="op">,</span> <span class="str">"R"</span><span class="op">,</span> <span class="op">(</span><span class="num">0</span><span class="op">,</span> <span class="num">0</span><span class="op">,</span> <span class="str">"SOUTH"</span><span class="op">)</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 class="op">(</span><span class="op">(</span><span class="num">0</span><span class="op">,</span> <span class="num">0</span><span class="op">,</span> <span class="str">"EAST"</span><span class="op">)</span><span class="op">,</span> <span class="str">"L"</span><span class="op">,</span> <span class="op">(</span><span class="num">0</span><span class="op">,</span> <span class="num">0</span><span class="op">,</span> <span class="str">"NORTH"</span><span class="op">)</span><span class="op">)</span><span class="op">,</span> </span><span class="r"></span></p>
|
|
<p id="t22" class="pln"><span class="n"><a href="#t22">22</a></span><span class="t"> <span class="com"># change starting point</span> </span><span class="r"></span></p>
|
|
<p id="t23" class="pln"><span class="n"><a href="#t23">23</a></span><span class="t"> <span class="op">(</span><span class="op">(</span><span class="num">0</span><span class="op">,</span> <span class="num">0</span><span class="op">,</span> <span class="str">"WEST"</span><span class="op">)</span><span class="op">,</span> <span class="str">"F"</span><span class="op">,</span> <span class="op">(</span><span class="op">-</span><span class="num">1</span><span class="op">,</span> <span class="num">0</span><span class="op">,</span> <span class="str">"WEST"</span><span class="op">)</span><span class="op">)</span><span class="op">,</span> </span><span class="r"></span></p>
|
|
<p id="t24" class="pln"><span class="n"><a href="#t24">24</a></span><span class="t"> <span class="op">(</span><span class="op">(</span><span class="num">0</span><span class="op">,</span> <span class="num">0</span><span class="op">,</span> <span class="str">"SOUTH"</span><span class="op">)</span><span class="op">,</span> <span class="str">"R"</span><span class="op">,</span> <span class="op">(</span><span class="num">0</span><span class="op">,</span> <span class="num">0</span><span class="op">,</span> <span class="str">"WEST"</span><span class="op">)</span><span class="op">)</span><span class="op">,</span> </span><span class="r"></span></p>
|
|
<p id="t25" class="pln"><span class="n"><a href="#t25">25</a></span><span class="t"> <span class="op">(</span><span class="op">(</span><span class="num">0</span><span class="op">,</span> <span class="num">0</span><span class="op">,</span> <span class="str">"SOUTH"</span><span class="op">)</span><span class="op">,</span> <span class="str">"F"</span><span class="op">,</span> <span class="op">(</span><span class="num">0</span><span class="op">,</span> <span class="op">-</span><span class="num">1</span><span class="op">,</span> <span class="str">"SOUTH"</span><span class="op">)</span><span class="op">)</span><span class="op">,</span> </span><span class="r"></span></p>
|
|
<p id="t26" class="pln"><span class="n"><a href="#t26">26</a></span><span class="t"> <span class="op">]</span><span class="op">,</span> </span><span class="r"></span></p>
|
|
<p id="t27" class="pln"><span class="n"><a href="#t27">27</a></span><span class="t"><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="key">def</span> <span class="nam">test_rover_receive_commands</span><span class="op">(</span><span class="nam">init</span><span class="op">,</span> <span class="nam">command</span><span class="op">,</span> <span class="nam">expected</span><span class="op">)</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">rover</span> <span class="op">=</span> <span class="nam">Rover</span><span class="op">(</span><span class="op">*</span><span class="nam">init</span><span class="op">)</span> </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="key">assert</span> <span class="nam">rover</span><span class="op">.</span><span class="nam">move</span><span class="op">(</span><span class="nam">command</span><span class="op">)</span> <span class="op">==</span> <span class="nam">expected</span> </span><span class="r"></span></p>
|
|
<p id="t31" class="pln"><span class="n"><a href="#t31">31</a></span><span class="t"> </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_rover_rejects_invalid_commands</span><span class="op">(</span><span class="nam">rover</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">command</span> <span class="op">=</span> <span class="str">" W "</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="key">with</span> <span class="nam">pytest</span><span class="op">.</span><span class="nam">raises</span><span class="op">(</span><span class="nam">ValueError</span><span class="op">)</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">rover</span><span class="op">.</span><span class="nam">move</span><span class="op">(</span><span class="nam">command</span><span class="op">)</span> </span><span class="r"></span></p>
|
|
<p id="t37" class="pln"><span class="n"><a href="#t37">37</a></span><span class="t"> </span><span class="r"></span></p>
|
|
<p id="t38" class="pln"><span class="n"><a href="#t38">38</a></span><span class="t"> </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="op">@</span><span class="nam">pytest</span><span class="op">.</span><span class="nam">mark</span><span class="op">.</span><span class="nam">parametrize</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 class="op">(</span><span class="str">"init"</span><span class="op">,</span> <span class="str">"command"</span><span class="op">,</span> <span class="str">"expected"</span><span class="op">)</span><span class="op">,</span> </span><span class="r"></span></p>
|
|
<p id="t41" class="pln"><span class="n"><a href="#t41">41</a></span><span class="t"> <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 class="op">(</span><span class="op">(</span><span class="num">0</span><span class="op">,</span> <span class="num">0</span><span class="op">,</span> <span class="str">"NORTH"</span><span class="op">)</span><span class="op">,</span> <span class="str">"FB"</span><span class="op">,</span> <span class="op">(</span><span class="num">0</span><span class="op">,</span> <span class="num">0</span><span class="op">,</span> <span class="str">"NORTH"</span><span class="op">)</span><span class="op">)</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 class="op">(</span><span class="op">(</span><span class="num">0</span><span class="op">,</span> <span class="num">0</span><span class="op">,</span> <span class="str">"NORTH"</span><span class="op">)</span><span class="op">,</span> <span class="str">"FF"</span><span class="op">,</span> <span class="op">(</span><span class="num">0</span><span class="op">,</span> <span class="num">2</span><span class="op">,</span> <span class="str">"NORTH"</span><span class="op">)</span><span class="op">)</span><span class="op">,</span> </span><span class="r"></span></p>
|
|
<p id="t44" class="pln"><span class="n"><a href="#t44">44</a></span><span class="t"> <span class="op">(</span><span class="op">(</span><span class="num">4</span><span class="op">,</span> <span class="num">2</span><span class="op">,</span> <span class="str">"EAST"</span><span class="op">)</span><span class="op">,</span> <span class="str">"FLFFFRFLB"</span><span class="op">,</span> <span class="op">(</span><span class="num">6</span><span class="op">,</span> <span class="num">4</span><span class="op">,</span> <span class="str">"NORTH"</span><span class="op">)</span><span class="op">)</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="op">]</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="op">)</span> </span><span class="r"></span></p>
|
|
<p id="t47" class="run"><span class="n"><a href="#t47">47</a></span><span class="t"><span class="key">def</span> <span class="nam">test_rover_can_receive_multiple_commands</span><span class="op">(</span><span class="nam">init</span><span class="op">,</span> <span class="nam">command</span><span class="op">,</span> <span class="nam">expected</span><span class="op">)</span><span class="op">:</span> </span><span class="r"></span></p>
|
|
<p id="t48" class="run"><span class="n"><a href="#t48">48</a></span><span class="t"> <span class="nam">rover</span> <span class="op">=</span> <span class="nam">Rover</span><span class="op">(</span><span class="op">*</span><span class="nam">init</span><span class="op">)</span> </span><span class="r"></span></p>
|
|
<p id="t49" class="run"><span class="n"><a href="#t49">49</a></span><span class="t"> <span class="key">assert</span> <span class="nam">rover</span><span class="op">.</span><span class="nam">move</span><span class="op">(</span><span class="nam">command</span><span class="op">)</span> <span class="op">==</span> <span class="nam">expected</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/en/6.0b1">coverage.py v6.0b1</a>,
|
|
created at 2021-08-27 11:19 +0200
|
|
</p>
|
|
</div>
|
|
</div>
|
|
</body>
|
|
</html>
|