package org.peerbox.presenter; import static org.junit.Assert.assertTrue; import java.nio.file.Paths; import org.junit.Before; import org.junit.Test; import org.peerbox.presenter.settings.synchronization.PathItem; import org.peerbox.presenter.settings.synchronization.ProgressState; import org.peerbox.presenter.settings.synchronization.SyncTreeItem; public class SyncTreeItemTest { private SyncTreeItem file; private SyncTreeItem file2; private SyncTreeItem folder; @Test public void childrenInProgressOnDefaultTest(){ file.setProgressState(ProgressState.IN_PROGRESS); assertTrue(folder.getProgressState() == ProgressState.IN_PROGRESS); } @Test public void childrenFailOnDefaultTest(){ file.setProgressState(ProgressState.FAILED); assertTrue(folder.getProgressState() == ProgressState.DEFAULT); } @Test public void childrenSuccessOnDefaultTest(){ file.setProgressState(ProgressState.SUCCESSFUL); assertTrue(folder.getProgressState() == ProgressState.SUCCESSFUL); } @Test public void childrenSyncOnSuccessTest(){ folder.setProgressState(ProgressState.SUCCESSFUL); file.setProgressState(ProgressState.IN_PROGRESS); assertTrue(folder.getProgressState() == ProgressState.IN_PROGRESS); } @Test public void childrenFailOnSuccessTest(){ folder.setProgressState(ProgressState.SUCCESSFUL); file.setProgressState(ProgressState.FAILED); assertTrue(folder.getProgressState() == ProgressState.SUCCESSFUL); } @Test public void childrenSuccessOnSuccessTest(){ file.setProgressState(ProgressState.SUCCESSFUL); assertTrue(folder.getProgressState() == ProgressState.SUCCESSFUL); } @Test public void childrenSyncOnInProgressTest(){ folder.setProgressState(ProgressState.IN_PROGRESS); file.setProgressState(ProgressState.IN_PROGRESS); assertTrue(folder.getProgressState() == ProgressState.IN_PROGRESS); } @Test public void childrenFailOnInProgressTest(){ folder.setProgressState(ProgressState.IN_PROGRESS); file.setProgressState(ProgressState.FAILED); assertTrue(folder.getProgressState() == ProgressState.IN_PROGRESS); } @Test public void childrenSuccessOnInProgressTest(){ folder.setProgressState(ProgressState.IN_PROGRESS); file.setProgressState(ProgressState.SUCCESSFUL); file2.setProgressState(ProgressState.SUCCESSFUL); assertTrue(folder.getProgressState() == ProgressState.SUCCESSFUL); } @Test public void twoChildrenSuccessOnInProgressTest(){ folder.setProgressState(ProgressState.IN_PROGRESS); file2.setProgressState(ProgressState.IN_PROGRESS); file.setProgressState(ProgressState.SUCCESSFUL); assertTrue(folder.getProgressState() == ProgressState.IN_PROGRESS); } @Before public void setup(){ PathItem filePathItem = new PathItem(Paths.get("/folder/file1")); PathItem file2PathItem = new PathItem(Paths.get("/folder/file2")); PathItem folderPathItem = new PathItem(Paths.get("/folder")); file = new SyncTreeItem(filePathItem); file2 = new SyncTreeItem(file2PathItem); folder = new SyncTreeItem(folderPathItem); file.addPropertyChangeListener("progressState", folder); file2.addPropertyChangeListener("progressState", folder); folder.getChildren().add(file); folder.getChildren().add(file2); } }