Package org.syncany.tests.database

Source Code of org.syncany.tests.database.PartialFileHistoryTest

/*
* Syncany, www.syncany.org
* Copyright (C) 2011-2014 Philipp C. Heckel <philipp.heckel@gmail.com>
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation, either version 3 of the License, or
* (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with this program.  If not, see <http://www.gnu.org/licenses/>.
*/
package org.syncany.tests.database;

import static org.junit.Assert.assertEquals;
import static org.junit.Assert.assertNotNull;
import static org.junit.Assert.assertNotSame;
import static org.junit.Assert.assertNull;
import static org.junit.Assert.assertTrue;

import org.junit.Test;
import org.syncany.database.FileVersion;
import org.syncany.database.PartialFileHistory;
import org.syncany.database.PartialFileHistory.FileHistoryId;

public class PartialFileHistoryTest {
  @Test
  public void testFileHistoryInitEmpty() {
    PartialFileHistory fileHistory = new PartialFileHistory(FileHistoryId.parseFileId("1234"));
   
    assertEquals(FileHistoryId.parseFileId("1234"), fileHistory.getFileHistoryId());
    assertNotSame(FileHistoryId.parseFileId("9999"), fileHistory.getFileHistoryId());
    assertNull(fileHistory.getLastVersion());
    assertNotNull(fileHistory.toString());
    assertTrue(fileHistory.toString().contains("1234"));
    assertNotNull(fileHistory.getFileVersions());
    assertEquals(0, fileHistory.getFileVersions().size());
  }
 
  @Test(expected = IllegalArgumentException.class)
  public void testFileHistoryInitInvalid() {
    new PartialFileHistory(null);
  }
 
  @Test(expected = IllegalArgumentException.class)
  public void testFileHistoryAddFileVersionInvalidNull() {
    PartialFileHistory fileHistory = new PartialFileHistory(FileHistoryId.parseFileId("1234"));
    fileHistory.addFileVersion(null);
  }
 
  @Test(expected = IllegalArgumentException.class)
  public void testFileHistoryAddFileVersionInvalidVersionNull() {
    PartialFileHistory fileHistory = new PartialFileHistory(FileHistoryId.parseFileId("1234"));
    fileHistory.addFileVersion(new FileVersion());
  }
 
  @Test
  public void testFileHistoryGetVersionsNonEmpty() {
    FileVersion fileVersion = new FileVersion();
    fileVersion.setVersion(5L);
    fileVersion.setPath("/somepath");
   
    PartialFileHistory fileHistory = new PartialFileHistory(FileHistoryId.parseFileId("1234"));
    fileHistory.addFileVersion(fileVersion);
   
    assertNotNull(fileHistory.getLastVersion());
    assertNotNull(fileHistory.getFileVersions());
    assertEquals(1, fileHistory.getFileVersions().size());
    assertEquals(fileVersion, fileHistory.getLastVersion());
    assertNull(fileHistory.getFileVersions().get(1L));
    assertNull(fileHistory.getFileVersion(1L));
    assertEquals(fileVersion, fileHistory.getFileVersions().get(5L));
    assertEquals(fileVersion, fileHistory.getFileVersion(5L));
 
 
  @Test
  public void testFileHistoryClone() {
    FileVersion fileVersion1 = new FileVersion();
    fileVersion1.setVersion(1L);
    fileVersion1.setPath("/somepath");
   
    FileVersion fileVersion2 = new FileVersion();
    fileVersion2.setVersion(2L);
    fileVersion2.setPath("/somepath");

    PartialFileHistory fileHistory = new PartialFileHistory(FileHistoryId.parseFileId("1234"));
    fileHistory.addFileVersion(fileVersion1);
    fileHistory.addFileVersion(fileVersion2);
   
    PartialFileHistory fileHistoryClone = fileHistory.clone();
   
    assertEquals(fileHistory, fileHistoryClone);
    assertEquals(fileHistory.getFileVersions().size(), fileHistoryClone.getFileVersions().size());
    assertEquals(fileHistory.getFileVersions(), fileHistoryClone.getFileVersions());

    FileVersion fileVersion3 = new FileVersion();
    fileVersion3.setVersion(3L);
    fileVersion3.setPath("/somepath");
   
    fileHistoryClone.addFileVersion(fileVersion3);
    assertEquals(fileHistory.getFileVersions().size()+1, fileHistoryClone.getFileVersions().size());
 
 
  @Test
  public void testFileHistoryIdParsedOk() {
    assertEquals("12", FileHistoryId.parseFileId("12").toString());
  }
 
  @Test
  public void testFileHistoryIdRandom() {
    FileHistoryId secureRandomFileId1 = FileHistoryId.secureRandomFileId();
    FileHistoryId secureRandomFileId2 = FileHistoryId.secureRandomFileId();
   
    assertNotNull(secureRandomFileId1);
    assertEquals(20*2, secureRandomFileId1.toString().length());
   
    assertNotSame(secureRandomFileId1, secureRandomFileId2);
    assertNotNull(secureRandomFileId2);
    assertEquals(20*2, secureRandomFileId2.toString().length());   
  }
 
  @Test(expected = IllegalArgumentException.class)
  public void testFileHistoryIdInvalidNull() {
    FileHistoryId.parseFileId(null);
  }
}
TOP

Related Classes of org.syncany.tests.database.PartialFileHistoryTest

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.