Created
          September 16, 2015 21:24 
        
      - 
      
- 
        Save hoorayimhelping/49872d4da46353266c91 to your computer and use it in GitHub Desktop. 
  
    
      This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
      Learn more about bidirectional Unicode characters
    
  
  
    
  | diff --git a/js/maps/solar_system.js b/js/maps/solar_system.js | |
| index ffed717..4f9e231 100644 | |
| --- a/js/maps/solar_system.js | |
| +++ b/js/maps/solar_system.js | |
| @@ -15,6 +15,7 @@ var SolarSystem = function() { | |
| geostationary: new Node('Geostationary Orbit'), | |
| moon_transfer: new Node('Moon Transfer'), | |
| low_moon_orbit: new Node('Low Moon Orbit'), | |
| + moon: new Node('Moon'), | |
| earth_transfer: new Node('Earth Transfer'), | |
| mars_transfer: new Node('Mars Transfer'), | |
| deimos_transfer: new Node('Deimos Transfer'), | |
| @@ -28,11 +29,12 @@ var SolarSystem = function() { | |
| geo_transfer_geo_orbit: newEdge({ deltav: 1470, name: 'geostationary_transfer-geostationary_orbit' }), | |
| leo_moon_transfer: newEdge({ deltav: 3260, name: 'leo-moon_transfer' }), | |
| moon_transfer_lmo: newEdge({ deltav: 680, name: 'moon_transfer-low_moon_orbit' }), | |
| + moon_landing: newEdge({ deltav: 1730, name: 'moon-landing' }), | |
| leo_earth_transfer: newEdge({ deltav: 3210, name: 'leo-earth_transfer' }), | |
| earth_transfer_mars_transfer: newEdge({ deltav: 1060, name: 'earth_transfer-mars_transfer' }), | |
| mars_transfer_deimos_transfer: newEdge({ deltav: 340, name: 'mars_transfer_deimos_transfer' }), | |
| deimos_transfer_low_deimos_orbit: newEdge({ deltav: 652, name: 'deimos_transfer_low_deimos_orbit' }), | |
| - low_deimos_orbit_deimos: newEdge({ deltav: 4, name: 'low_deimos_orbit_deimos' }) | |
| + deimos_landing: newEdge({ deltav: 4, name: 'deimos_landing' }) | |
| }; | |
| }; | |
| @@ -41,6 +43,23 @@ SolarSystem.prototype = { | |
| for (var node in this.nodes) { | |
| this.nodes[node].visited = false; | |
| } | |
| + }, | |
| + | |
| + buildGraph: function(graph, edges, nodes) { | |
| + graph.addEdge(edges.low_earth_orbit, nodes.earth, nodes.leo); | |
| + | |
| + graph.addEdge(edges.leo_geo_transfer, nodes.leo, nodes.geo_transfer); | |
| + graph.addEdge(edges.geo_transfer_geo_orbit, nodes.geo_transfer, nodes.geostationary); | |
| + | |
| + graph.addEdge(edges.leo_moon_transfer, nodes.leo, nodes.moon_transfer); | |
| + graph.addEdge(edges.moon_transfer_lmo, nodes.moon_transfer, nodes.low_moon_orbit); | |
| + | |
| + graph.addEdge(edges.leo_earth_transfer, nodes.leo, nodes.earth_transfer); | |
| + graph.addEdge(edges.earth_transfer_mars_transfer, nodes.earth_transfer, nodes.mars_transfer); | |
| + | |
| + graph.addEdge(edges.mars_transfer_deimos_transfer, nodes.mars_transfer, nodes.deimos_transfer); | |
| + graph.addEdge(edges.deimos_transfer_low_deimos_orbit, nodes.deimos_transfer, nodes.low_deimos_orbit); | |
| + graph.addEdge(edges.deimos_landing, nodes.low_deimos_orbit, nodes.deimos); | |
| } | |
| }; | |
| diff --git a/js/test/graph.js b/js/test/graph.js | |
| index 42c4da0..9d3e04b 100644 | |
| --- a/js/test/graph.js | |
| +++ b/js/test/graph.js | |
| @@ -6,23 +6,6 @@ var Edge = require('../graph/edge'); | |
| var solar_system = require('../maps/solar_system'); | |
| var kerbol_system = require('../maps/kerbol_system'); | |
| -var buildSolarSystemGraph = function(graph, edges, nodes) { | |
| - graph.addEdge(edges.low_earth_orbit, nodes.earth, nodes.leo); | |
| - | |
| - graph.addEdge(edges.leo_geo_transfer, nodes.leo, nodes.geo_transfer); | |
| - graph.addEdge(edges.geo_transfer_geo_orbit, nodes.geo_transfer, nodes.geostationary); | |
| - | |
| - graph.addEdge(edges.leo_moon_transfer, nodes.leo, nodes.moon_transfer); | |
| - graph.addEdge(edges.moon_transfer_lmo, nodes.moon_transfer, nodes.low_moon_orbit); | |
| - | |
| - graph.addEdge(edges.leo_earth_transfer, nodes.leo, nodes.earth_transfer); | |
| - graph.addEdge(edges.earth_transfer_mars_transfer, nodes.earth_transfer, nodes.mars_transfer); | |
| - | |
| - graph.addEdge(edges.mars_transfer_deimos_transfer, nodes.mars_transfer, nodes.deimos_transfer); | |
| - graph.addEdge(edges.deimos_transfer_low_deimos_orbit, nodes.deimos_transfer, nodes.low_deimos_orbit); | |
| - graph.addEdge(edges.low_deimos_orbit_deimos, nodes.low_deimos_orbit, nodes.deimos); | |
| -}; | |
| - | |
| describe("checking a graph for adjacency", function(t) { | |
| t.plan(5); | |
| @@ -49,7 +32,7 @@ describe("walking the graph", function(t) { | |
| var nodes = solar_system.nodes; | |
| var graph = new Graph(); | |
| - buildSolarSystemGraph(graph, edges, nodes); | |
| + solar_system.buildGraph(graph, edges, nodes); | |
| describe("walking the solar system delta v graph from earth to mars transfer orbit", function(t) { | |
| t.plan(1); | |
| @@ -78,7 +61,7 @@ describe("walking the graph", function(t) { | |
| edges.earth_transfer_mars_transfer.value + | |
| edges.mars_transfer_deimos_transfer.value + | |
| edges.deimos_transfer_low_deimos_orbit.value + | |
| - edges.low_deimos_orbit_deimos.value; | |
| + edges.deimos_landing.value; | |
| t.equals( | |
| total_value, | 
  
    Sign up for free
    to join this conversation on GitHub.
    Already have an account?
    Sign in to comment