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); }