package org.exist.fluent;
import static org.junit.Assert.assertEquals;
import org.junit.Test;
public class DocumentTest extends DatabaseTestCase {
@Test public void nameAndPathFromLoad() {
Document doc = db.createFolder("/top").documents().load(Name.create("foo"), Source.blob("helloworld"));
assertEquals("foo", doc.name());
assertEquals("/top/foo", doc.path());
}
@Test public void contentsAsStringFromLoad() {
Document doc = db.createFolder("/top").documents().load(Name.create("foo"), Source.blob("helloworld"));
assertEquals("helloworld", doc.contentsAsString());
}
@Test public void lengthFromLoad1() {
Document doc = db.createFolder("/top").documents().load(Name.create("foo"), Source.blob("helloworld"));
assertEquals(10, doc.length());
}
@Test public void lengthFromLoad2() {
Document doc = db.createFolder("/top").documents().load(Name.create("foo"), Source.blob(""));
assertEquals(0, doc.length());
}
@Test public void copy1() {
Folder c1 = db.createFolder("/c1"), c2 = db.createFolder("/c2");
Document original = c1.documents().load(Name.create("original"), Source.blob("helloworld"));
Document copy = original.copy(c2, Name.keepCreate());
assertEquals(1, c1.documents().size());
assertEquals(1, c2.documents().size());
assertEquals("helloworld", original.contentsAsString());
assertEquals("helloworld", copy.contentsAsString());
}
@Test public void copy2() {
Folder c1 = db.createFolder("/c1"), c2 = db.createFolder("/c2");
Document original = c1.documents().load(Name.create("original.xml"), Source.xml("<original/>"));
Document copy = original.copy(c2, Name.keepCreate());
assertEquals(1, c1.documents().size());
assertEquals(1, c2.documents().size());
assertEquals("<original/>", original.contentsAsString());
assertEquals("<original/>", copy.contentsAsString());
}
@Test public void move1() {
Folder c1 = db.createFolder("/c1"), c2 = db.createFolder("/c2");
Document doc = c1.documents().load(Name.create("original"), Source.blob("helloworld"));
doc.move(c2, Name.keepCreate());
assertEquals(0, c1.documents().size());
assertEquals(1, c2.documents().size());
assertEquals("/c2/original", doc.path());
assertEquals("helloworld", doc.contentsAsString());
}
@Test public void move2() {
Folder c1 = db.createFolder("/c1"), c2 = db.createFolder("/c2");
Document doc = c1.documents().load(Name.create("original.xml"), Source.xml("<original/>"));
doc.move(c2, Name.keepCreate());
assertEquals(0, c1.documents().size());
assertEquals(1, c2.documents().size());
assertEquals("/c2/original.xml", doc.path());
assertEquals("<original/>", doc.contentsAsString());
}
}