package org.basex.local.single; import org.basex.*; import org.basex.core.*; import org.basex.core.cmd.*; import org.junit.*; import org.junit.Test; /** * This class adds and retrieves documents in a collection. * * @author BaseX Team 2005-17, BSD License * @author Christian Gruen */ public final class CollStressTest extends SandboxTest { /** Number of documents to be added. */ private static final int SIZE = 4000; /** * Initializes the tests. */ @BeforeClass public static void init() { execute(new CreateDB(NAME)); // Speed up updates and add documents set(MainOptions.AUTOFLUSH, false); set(MainOptions.INTPARSE, true); for(int i = 0; i < SIZE; i++) execute(new Add(Integer.toString(i), "<xml/>")); set(MainOptions.AUTOFLUSH, true); } /** * Requests specific documents. */ @Test public void specificOpened() { execute(new Open(NAME)); for(int i = 0; i < SIZE; i++) query("collection('" + NAME + '/' + i + "')"); } /** * Requests specific documents from closed database. */ @Test public void specificClosed() { execute(new Close()); for(int i = 0; i < SIZE; i++) query("collection('" + NAME + '/' + i + "')"); } /** * Requests all documents. */ @Test public void allOpened() { execute(new Open(NAME)); query("for $i in 0 to " + (SIZE - 1) + " return collection(concat('" + NAME + "/', $i))"); } /** * Requests all documents from closed database. */ @Test public void allClosed() { execute(new Close()); query("for $i in 0 to " + (SIZE - 1) + " return collection(concat('" + NAME + "/', $i))"); } }