Package jetbrains.communicator.core.users

Source Code of jetbrains.communicator.core.users.ProjectsDataTest

/*
* Copyright 2000-2006 JetBrains s.r.o.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
package jetbrains.communicator.core.users;

import junit.framework.TestCase;
import jetbrains.communicator.core.vfs.ProjectsData;
import jetbrains.communicator.core.vfs.VFile;

/**
* @author kir
*/
public class ProjectsDataTest extends TestCase {
  ProjectsData myProjectsData;

  @Override
  protected void setUp() throws Exception {
    super.setUp();
    myProjectsData = new ProjectsData();
  }

  public void testProjectFiles() throws Exception {

    myProjectsData.setProjectFiles("project1", new VFile[] {
              VFile.create("path/to/file", true),
              VFile.create("path/to/file1", false),
    });

    assertEquals(0, myProjectsData.getProjectFiles("fff").length);
    assertEquals(0, myProjectsData.getProjectFiles("project2").length);
    VFile[] projectFiles = myProjectsData.getProjectFiles("project1");
    assertEquals(2, projectFiles.length);

    assertEquals("path/to/file", projectFiles[0].getContentPath());
    assertTrue(projectFiles[0].isWritable());

    assertEquals("path/to/file1", projectFiles[1].getContentPath());
    assertFalse(projectFiles[1].isWritable());


    myProjectsData.setProjectFiles("project1", new VFile[0]);
    assertEquals(0, myProjectsData.getProjectFiles("project1").length);

  }

  public void testSerializeDeserialize() throws Exception {
    myProjectsData.setProjectFiles("project1", new VFile[]{
              VFile.create("a path")
    });
    myProjectsData.setProjectFiles("project2", new VFile[0]);

    ProjectsData userStatus1 = new ProjectsData(myProjectsData.serialize());

    assertEquals(2, userStatus1.getProjects().length);
    assertEquals(1, userStatus1.getProjectFiles("project1").length);
  }

  public void testNonProjectFile() throws Exception {
    myProjectsData.addNonProjectFile(VFile.create("a path"));
    myProjectsData.addNonProjectFile(VFile.create("a path2"));

    assertEquals(0, myProjectsData.getProjects().length);
    assertEquals(2, myProjectsData.getNonProjectFiles().length);
    assertEquals("a path", myProjectsData.getNonProjectFiles()[0].getContentPath());
    assertEquals("a path2", myProjectsData.getNonProjectFiles()[1].getContentPath());
  }

  public void testProjectNameInFileInfo() throws Exception {

    VFile fileInfo = VFile.create("Path");
    myProjectsData.setProjectFiles(VFile.PROJECT_NAME_ATTR, new VFile[]{fileInfo});
    assertEquals(VFile.PROJECT_NAME_ATTR, fileInfo.getProjectName());

    VFile fileInfo1 = VFile.create("Path");
    myProjectsData.addNonProjectFile(fileInfo1);
    assertNull(fileInfo1.getProjectName(), fileInfo1.getProjectName());

    VFile vFile = myProjectsData.getProjectFiles(VFile.PROJECT_NAME_ATTR)[0];
    assertEquals("Should be equal", fileInfo, vFile);
    assertEquals("Project name shoud be kept", VFile.PROJECT_NAME_ATTR, vFile.getProjectName());

    VFile vFile1 = myProjectsData.getNonProjectFiles()[0];
    assertEquals("Should be equal", fileInfo1, vFile1);
    assertNull("Project name shoud be kept", vFile1.getProjectName());
  }
}
TOP

Related Classes of jetbrains.communicator.core.users.ProjectsDataTest

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.