<html>
 <head>
   <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
  <link rel="stylesheet" href="../../coverage.css"/>  <title> the_great_game/world/routes.clj </title>
 </head>
 <body>
<span class="covered" title="1 out of 1 forms covered">
                001&nbsp;&nbsp;(ns&nbsp;the-great-game.world.routes
                </span><br/>
<span class="not-tracked" title="0 out of 0 forms covered">
                002&nbsp;&nbsp;&nbsp;&nbsp;&quot;Conceptual&nbsp;(plan&nbsp;level)&nbsp;routes,&nbsp;represented&nbsp;as&nbsp;tuples&nbsp;of&nbsp;location&nbsp;ids.&quot;
                </span><br/>
<span class="not-tracked" title="0 out of 0 forms covered">
                003&nbsp;&nbsp;&nbsp;&nbsp;(:require&nbsp;[the-great-game.utils&nbsp;:refer&nbsp;[cyclic?]]))
                </span><br/>
<span class="blank" title="0 out of 0 forms covered">
                004&nbsp;&nbsp;
                </span><br/>
<span class="covered" title="1 out of 1 forms covered">
                005&nbsp;&nbsp;(defn&nbsp;find-routes
                </span><br/>
<span class="not-tracked" title="0 out of 0 forms covered">
                006&nbsp;&nbsp;&nbsp;&nbsp;&quot;Find&nbsp;routes&nbsp;from&nbsp;among&nbsp;these&nbsp;`routes`&nbsp;from&nbsp;`from`;&nbsp;if&nbsp;`to`&nbsp;is&nbsp;supplied,
                </span><br/>
<span class="not-tracked" title="0 out of 0 forms covered">
                007&nbsp;&nbsp;&nbsp;&nbsp;to&nbsp;`to`,&nbsp;by&nbsp;breadth-first&nbsp;search.&quot;
                </span><br/>
<span class="not-tracked" title="0 out of 0 forms covered">
                008&nbsp;&nbsp;&nbsp;&nbsp;([routes&nbsp;from]
                </span><br/>
<span class="covered" title="2 out of 2 forms covered">
                009&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;(map
                </span><br/>
<span class="covered" title="5 out of 5 forms covered">
                010&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;(fn&nbsp;[to]&nbsp;(cons&nbsp;from&nbsp;to))
                </span><br/>
<span class="covered" title="2 out of 2 forms covered">
                011&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;(remove
                </span><br/>
<span class="covered" title="1 out of 1 forms covered">
                012&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;empty?
                </span><br/>
<span class="covered" title="2 out of 2 forms covered">
                013&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;(map
                </span><br/>
<span class="covered" title="1 out of 1 forms covered">
                014&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;(fn&nbsp;[route]
                </span><br/>
<span class="covered" title="3 out of 3 forms covered">
                015&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;(remove
                </span><br/>
<span class="covered" title="4 out of 4 forms covered">
                016&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;#(=&nbsp;from&nbsp;%)
                </span><br/>
<span class="covered" title="10 out of 10 forms covered">
                017&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;(if&nbsp;(some&nbsp;#(=&nbsp;%&nbsp;from)&nbsp;route)&nbsp;route)))
                </span><br/>
<span class="covered" title="1 out of 1 forms covered">
                018&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;routes))))
                </span><br/>
<span class="not-tracked" title="0 out of 0 forms covered">
                019&nbsp;&nbsp;&nbsp;&nbsp;([routes&nbsp;from&nbsp;to]
                </span><br/>
<span class="covered" title="5 out of 5 forms covered">
                020&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;(let&nbsp;[steps&nbsp;(find-routes&nbsp;routes&nbsp;from)
                </span><br/>
<span class="covered" title="2 out of 2 forms covered">
                021&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;found&nbsp;(filter
                </span><br/>
<span class="covered" title="11 out of 11 forms covered">
                022&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;(fn&nbsp;[step]&nbsp;(if&nbsp;(some&nbsp;#(=&nbsp;to&nbsp;%)&nbsp;step)&nbsp;step))
                </span><br/>
<span class="covered" title="1 out of 1 forms covered">
                023&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;steps)]
                </span><br/>
<span class="covered" title="1 out of 1 forms covered">
                024&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;(if
                </span><br/>
<span class="covered" title="3 out of 3 forms covered">
                025&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;(empty?&nbsp;found)
                </span><br/>
<span class="covered" title="6 out of 6 forms covered">
                026&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;(find-routes&nbsp;routes&nbsp;from&nbsp;to&nbsp;steps)
                </span><br/>
<span class="covered" title="1 out of 1 forms covered">
                027&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;found)))
                </span><br/>
<span class="not-tracked" title="0 out of 0 forms covered">
                028&nbsp;&nbsp;&nbsp;&nbsp;([routes&nbsp;from&nbsp;to&nbsp;steps]
                </span><br/>
<span class="covered" title="1 out of 1 forms covered">
                029&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;(if
                </span><br/>
<span class="covered" title="5 out of 5 forms covered">
                030&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;(not&nbsp;(empty?&nbsp;steps))
                </span><br/>
<span class="covered" title="3 out of 3 forms covered">
                031&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;(let&nbsp;[paths&nbsp;(remove
                </span><br/>
<span class="covered" title="1 out of 1 forms covered">
                032&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;cyclic?
                </span><br/>
<span class="covered" title="2 out of 2 forms covered">
                033&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;(mapcat
                </span><br/>
<span class="covered" title="1 out of 1 forms covered">
                034&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;(fn&nbsp;[path]
                </span><br/>
<span class="covered" title="2 out of 2 forms covered">
                035&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;(map
                </span><br/>
<span class="covered" title="7 out of 7 forms covered">
                036&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;(fn&nbsp;[x]&nbsp;(concat&nbsp;path&nbsp;(rest&nbsp;x)))
                </span><br/>
<span class="covered" title="6 out of 6 forms covered">
                037&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;(find-routes&nbsp;routes&nbsp;(last&nbsp;path))))
                </span><br/>
<span class="covered" title="1 out of 1 forms covered">
                038&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;steps))
                </span><br/>
<span class="covered" title="3 out of 3 forms covered">
                039&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;found&nbsp;(filter
                </span><br/>
<span class="covered" title="7 out of 7 forms covered">
                040&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;#(=&nbsp;(last&nbsp;%)&nbsp;to)&nbsp;paths)]
                </span><br/>
<span class="covered" title="1 out of 1 forms covered">
                041&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;(if
                </span><br/>
<span class="covered" title="3 out of 3 forms covered">
                042&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;(empty?&nbsp;found)
                </span><br/>
<span class="covered" title="6 out of 6 forms covered">
                043&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;(find-routes&nbsp;routes&nbsp;from&nbsp;to&nbsp;paths)
                </span><br/>
<span class="covered" title="1 out of 1 forms covered">
                044&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;found)))))
                </span><br/>
<span class="blank" title="0 out of 0 forms covered">
                045&nbsp;&nbsp;
                </span><br/>
<span class="covered" title="1 out of 1 forms covered">
                046&nbsp;&nbsp;(defn&nbsp;find-route
                </span><br/>
<span class="not-tracked" title="0 out of 0 forms covered">
                047&nbsp;&nbsp;&nbsp;&nbsp;&quot;Find&nbsp;a&nbsp;single&nbsp;route&nbsp;from&nbsp;`from`&nbsp;to&nbsp;`to`&nbsp;in&nbsp;this&nbsp;`world-or-routes`,&nbsp;which
                </span><br/>
<span class="not-tracked" title="0 out of 0 forms covered">
                048&nbsp;&nbsp;&nbsp;&nbsp;may&nbsp;be&nbsp;either&nbsp;a&nbsp;world&nbsp;as&nbsp;defined&nbsp;in&nbsp;[[the-great-game.world.world]]&nbsp;or&nbsp;else
                </span><br/>
<span class="not-tracked" title="0 out of 0 forms covered">
                049&nbsp;&nbsp;&nbsp;&nbsp;a&nbsp;sequence&nbsp;of&nbsp;tuples&nbsp;of&nbsp;keywords.&quot;
                </span><br/>
<span class="not-tracked" title="0 out of 0 forms covered">
                050&nbsp;&nbsp;&nbsp;&nbsp;[world-or-routes&nbsp;from&nbsp;to]
                </span><br/>
<span class="covered" title="2 out of 2 forms covered">
                051&nbsp;&nbsp;&nbsp;&nbsp;(first
                </span><br/>
<span class="covered" title="2 out of 2 forms covered">
                052&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;(find-routes
                </span><br/>
<span class="partial" title="7 out of 8 forms covered">
                053&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;(or&nbsp;(:routes&nbsp;world-or-routes)&nbsp;world-or-routes)
                </span><br/>
<span class="covered" title="1 out of 1 forms covered">
                054&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;from
                </span><br/>
<span class="covered" title="1 out of 1 forms covered">
                055&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;to)))
                </span><br/>
 </body>
</html>