public function testDependencies()
 {
     $editor = new WeatherMapEditor();
     $editor->newConfig();
     $editor->addNode(100, 100, "node1");
     $editor->addNode(100, 200, "node2");
     $editor->addNode(200, 200, "node3");
     $n1 = $editor->map->getNode("node1");
     $n3 = $editor->map->getNode("node3");
     $n2 = $editor->map->getNode("node2");
     $this->assertEquals(array(), $n1->getDependencies());
     $editor->addLink("node1", "node2");
     $nDeps = $n1->getDependencies();
     $nDepsString = join(" ", array_map(array("WeatherMapEditorTest", "makeString"), $nDeps));
     $this->assertEquals("LINK node1-node2", $nDepsString, "Dependency created for new link");
     $editor->addLink("node1", "node3");
     $nDeps = $n1->getDependencies();
     $nDepsString = join(" ", array_map(array("WeatherMapEditorTest", "makeString"), $nDeps));
     $this->assertEquals("LINK node1-node2 LINK node1-node3", $nDepsString, "Two dependencies with two links");
     $link = $editor->map->getLink("node1-node2");
     $link->setEndNodes($n2, $n3);
     $nDeps = $n1->getDependencies();
     $nDepsString = join(" ", array_map(array("WeatherMapEditorTest", "makeString"), $nDeps));
     $this->assertEquals("LINK node1-node3", $nDepsString, "Dependency removed when link moves");
     $nDeps = $n2->getDependencies();
     $nDepsString = join(" ", array_map(array("WeatherMapEditorTest", "makeString"), $nDeps));
     $this->assertEquals("LINK node1-node2", $nDepsString, "Dependency added when link moves");
 }
 /**
  * @param string[] $params
  * @param WeatherMapEditor $editor
  */
 function cmdNewMap($params, $editor)
 {
     $editor->newConfig();
     $editor->saveConfig($this->mapfile);
 }