Package fitnesse.wiki.fs

Source Code of fitnesse.wiki.fs.MemoryVersionsControllerTest

package fitnesse.wiki.fs;

import static org.junit.Assert.assertEquals;
import static org.junit.Assert.assertNotNull;

import java.io.File;
import java.util.Iterator;

import fitnesse.wiki.PageData;
import fitnesse.wiki.SystemVariableSource;
import fitnesse.wiki.VersionInfo;
import fitnesse.wiki.WikiPage;
import fitnesse.wiki.fs.FileSystem;
import fitnesse.wiki.fs.FileSystemPageFactory;
import fitnesse.wiki.fs.MemoryFileSystem;
import fitnesse.wiki.fs.MemoryVersionsController;
import org.junit.Before;
import org.junit.Test;

public class MemoryVersionsControllerTest {

  private FileSystemPageFactory wikiPageFactory;

  @Before
  public void setUp() {
    FileSystem fileSystem = new MemoryFileSystem();
    MemoryVersionsController memoryVersionsController = new MemoryVersionsController(fileSystem);
    wikiPageFactory = new FileSystemPageFactory(fileSystem, memoryVersionsController, new SystemVariableSource());
  }

  @Test
  public void shouldStoreFirstVersionAsZero() {
    WikiPage root = wikiPageFactory.makePage(new File(""), "RooT", null);
    root.commit(root.getData());
    assertEquals(1, root.getVersions().size());
    assertEquals("0", root.getVersions().iterator().next().getName());
  }

  @Test
  public void shouldStoreSecondVersionAsOne() {
    WikiPage root = wikiPageFactory.makePage(new File(""), "RooT", null);
    root.commit(root.getData());
    root.commit(root.getData());

    assertEquals(2, root.getVersions().size());
    Iterator<VersionInfo> iterator = root.getVersions().iterator();
    assertEquals("0", iterator.next().getName());
    assertEquals("1", iterator.next().getName());
  }

  @Test
  public void shouldStoreFirstVersionAsZeroForSecondPage() {
    WikiPage root = wikiPageFactory.makePage(new File(""), "RooT", null);
    root.commit(root.getData());
    WikiPage page = root.addChildPage("PageOne");
    page.commit(root.getData());

    assertEquals(1, root.getVersions().size());
    assertEquals("0", root.getVersions().iterator().next().getName());

    assertEquals(1, page.getVersions().size());
    assertEquals("0", page.getVersions().iterator().next().getName());
  }

  @Test
  public void shouldLoadMostRecentVersion() {
    WikiPage root = wikiPageFactory.makePage(new File("."), "RooT", null);
    VersionInfo version = root.commit(root.getData());

    WikiPage versionData = root.getVersion(version.getName());
    PageData newData = versionData.getData();

    assertEquals("0", version.getName());
    assertNotNull(newData);
  }
}
TOP

Related Classes of fitnesse.wiki.fs.MemoryVersionsControllerTest

TOP
Copyright © 2018 www.massapi.com. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.