org.matsim.core.utils.collections.QuadTree.size()方法的使用及代码示例

x33g5p2x  于2022-01-28 转载在 其他  
字(5.6k)|赞(0)|评价(0)|浏览(107)

本文整理了Java中org.matsim.core.utils.collections.QuadTree.size方法的一些代码示例,展示了QuadTree.size的具体用法。这些代码示例主要来源于Github/Stackoverflow/Maven等平台,是从一些精选项目中提取出来的代码,具有较强的参考意义,能在一定程度帮忙到你。QuadTree.size方法的具体详情如下:
包路径:org.matsim.core.utils.collections.QuadTree
类名称:QuadTree
方法名:size

QuadTree.size介绍

[英]The number of entries in the tree
[中]树中的条目数

代码示例

代码示例来源:origin: matsim-org/matsim

/**
 * Tests that by serializing and de-serializing a QuadTree, all important attributes
 * of the QuadTree are maintained. At the moment, this is essentially the size-attribute.
 * @throws IOException
 * @throws ClassNotFoundException
 */
@Test
public void testSerialization() throws IOException, ClassNotFoundException {
  QuadTree<String> qt = getTestTree();
  ByteArrayOutputStream outStream = new ByteArrayOutputStream();
  ObjectOutputStream out = new ObjectOutputStream(outStream);
  out.writeObject(qt);
  out.close();
  ByteArrayInputStream inStream = new ByteArrayInputStream(outStream.toByteArray());
  ObjectInputStream in = new ObjectInputStream(inStream);
  QuadTree<String> qt2 = (QuadTree<String>)in.readObject();
  in.close();
  assertEquals(qt.size(), qt2.size());
  valuesTester(qt2.size(), qt2.values());
}

代码示例来源:origin: matsim-org/matsim

/**
 * Test putting values into a QuadTree using {@link QuadTree#put(double, double, Object)}.
 */
@Test
public void testPut() {
  QuadTree<String> qt = new QuadTree<>(-50.0, -50.0, +150.0, +150.0);
  assertEquals(0, qt.size());
  qt.put(10.0, 10.0, "10.0, 10.0");
  assertEquals(1, qt.size());
  qt.put(15.0, 15.0, "15.0, 15.0");
  assertEquals(2, qt.size());
  qt.put(-15.0, 0.0, "-15.0, 0.0");
  assertEquals(3, qt.size());
  qt.put(20.0, 10.0, "20.0, 10.0");
  assertEquals(4, qt.size());
  qt.put(100.0, 0.0, "100.0, 0.0");
  assertEquals(5, qt.size());
  qt.put(15.0, 15.0, "15.0, 15.0"); // insert an object a second time, shouldn't be added
  assertEquals(5, qt.size());
  qt.put(15.0, 15.0, "15.0, 15.0 B"); // insert a second object at an existing place
  assertEquals(6, qt.size());
}

代码示例来源:origin: matsim-org/matsim

log.info("Found " + this.facilityQuadTrees.get(mode).size() + "  facilities where mode " + mode + " is allowed.");
log.info("Found " + this.facilityQuadTrees.get(this.allModes).size() + "  facilities where all modes are allowed.");

代码示例来源:origin: matsim-org/matsim

log.info("Found " + this.linkQuadTrees.get(mode).size() + "  links where mode " + mode + " is allowed.");
log.info("Found " + this.linkQuadTrees.get(this.allModes).size() + "  links where all modes are allowed.");

代码示例来源:origin: matsim-org/matsim

/**
 * Test {@link QuadTree#clear()}.
 */
@Test
public void testClear() {
  QuadTree<String> qt = getTestTree();
  int size = qt.size();
  assertTrue(size > 0); // it makes no sense to test clear() on an empty tree
  qt.clear();
  assertEquals(0, qt.size());
  valuesTester(0, qt.values());
}

代码示例来源:origin: matsim-org/matsim

/**
 * Test {@link QuadTree#values()} that it returns the correct content.
 */
@Test
public void testValues() {
  QuadTree<String> qt = getTestTree();
  int size = qt.size();
  assertEquals(6, size);
  // generic test
  valuesTester(qt.size(), qt.values());
  // test that values() got updated after adding an object to the tree
  qt.put(80.0, 80.0, "80.0, 80.0");
  assertEquals(size + 1, qt.size());
  valuesTester(qt.size(), qt.values());
  // test that values() got updated after removing an object to the tree
  assertTrue(qt.remove(80.0, 80.0, "80.0, 80.0"));
  assertEquals(size, qt.size());
  valuesTester(qt.size(), qt.values());
  // and remove one more...
  assertTrue(qt.remove(10.0, 10.0, "10.0, 10.0"));
  assertEquals(size - 1, qt.size());
  valuesTester(qt.size(), qt.values());
  // test the iterator
  Iterator<String> iter = qt.values().iterator();
  iter.next();
  try {
    iter.remove();
    fail("expected UnsupportedOperationException, got none.");
  } catch (UnsupportedOperationException expected) {}
}

代码示例来源:origin: matsim-org/matsim

/**
 * Tests that a once obtained values-collection is indeed a live view
 * on the QuadTree, so when the QuadTree changes, the view is updated
 * as well.
 */
@Test
public void testValues_isView() {
  QuadTree<String> qt = getTestTree();
  int size = qt.size();
  Collection<String> values = qt.values();
  valuesTester(qt.size(), values);
  qt.put(80.0, 80.0, "80.0, 80.0");
  assertEquals(size + 1, qt.size());
  valuesTester(size + 1, values);
  qt.put(75.0, 75.0, "75.0, 75.0");
  assertEquals(size + 2, qt.size());
  valuesTester(size + 2, values);
  assertTrue(qt.remove(80.0, 80.0, "80.0, 80.0"));
  assertEquals(size + 1, qt.size());
  valuesTester(size + 1, values);
}

代码示例来源:origin: matsim-org/matsim

public void testRemove() {
  QuadTree<String> qt = getTestTree();
  int size = qt.size();
  assertEquals(size-1, qt.size());
  assertEquals(size-1, qt.size());
  assertEquals(size-1, qt.size());
  assertEquals(size-2, qt.size());
  assertEquals("15.0, 15.0 B", qt.getClosest(15.0, 15.0)); // the other object should still be there...
  assertEquals(size-1, qt.size());
  assertEquals("15.0, 15.0", qt.getClosest(15.0, 15.0)); // the other object should still be there...
  assertEquals(size-1, qt.size());

代码示例来源:origin: matsim-org/matsim

LOG.info("Done populating QuadTree. Number of nodes affected: " + clusteredNodes.size());

代码示例来源:origin: matsim-org/matsim

/**
 * Test {@link QuadTree#execute(double, double, double, double, QuadTree.Executor)}.
 */
@Test
public void testExecute() {
  QuadTree<String> qt = getTestTree();
  TestExecutor executor = new TestExecutor();
  int count = qt.execute(0.0, 0.0, 20.1, 20.1, executor);
  assertEquals(4, count);
  assertEquals(4, executor.objects.size());
  executor = new TestExecutor();
  count = qt.execute(0.0, 0.0, 20.0, 20.0, executor);
  assertEquals(3, count);
  assertEquals(3, executor.objects.size());
  executor = new TestExecutor();
  count = qt.execute(0.0, 0.0, 19.9, 19.9, executor);
  assertEquals(3, count);
  assertEquals(3, executor.objects.size());
  executor = new TestExecutor();
  count = qt.execute(null, executor);
  assertEquals(qt.size(), count);
  assertEquals(qt.size(), executor.objects.size());
}

相关文章