/** * Compare two pages (WikiPage version). Compares them by name first. If the same name, compares * their versions. * * @param page1 the first page * @param page2 the second page * @return see java.util.Comparator * @see java.util.Comparator#compare(java.lang.Object, java.lang.Object) */ public int compare(WikiPage page1, WikiPage page2) { if (page1 == page2) return 0; // the same object int res = m_comparator.compare(page1.getName(), page2.getName()); if (res == 0) res = page1.getVersion() - page2.getVersion(); return res; }
public void testMillionChanges() throws Exception { String text = ""; String name = NAME1; int maxver = 2000; // Save 2000 versions. Benchmark mark = new Benchmark(); mark.start(); for (int i = 0; i < maxver; i++) { text = text + "."; engine.saveText(name, text); } mark.stop(); System.out.println("Benchmark: " + mark.toString(2000) + " pages/second"); WikiPage pageinfo = engine.getPage(NAME1); assertEquals("wrong version", maxver, pageinfo.getVersion()); // +2 comes from \r\n. assertEquals("wrong text", maxver + 2, engine.getText(NAME1).length()); }