tikhomirov@529: /* tikhomirov@529: * Copyright (c) 2013 TMate Software Ltd tikhomirov@529: * tikhomirov@529: * This program is free software; you can redistribute it and/or modify tikhomirov@529: * it under the terms of the GNU General Public License as published by tikhomirov@529: * the Free Software Foundation; version 2 of the License. tikhomirov@529: * tikhomirov@529: * This program is distributed in the hope that it will be useful, tikhomirov@529: * but WITHOUT ANY WARRANTY; without even the implied warranty of tikhomirov@529: * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the tikhomirov@529: * GNU General Public License for more details. tikhomirov@529: * tikhomirov@529: * For information on how to redistribute this software under tikhomirov@529: * the terms of a license other than GNU General Public License tikhomirov@529: * contact TMate Software at support@hg4j.com tikhomirov@529: */ tikhomirov@529: package org.tmatesoft.hg.test; tikhomirov@529: tikhomirov@529: import static org.junit.Assert.assertEquals; tikhomirov@559: import static org.tmatesoft.hg.test.RepoUtils.createFile; tikhomirov@529: tikhomirov@529: import java.io.File; tikhomirov@529: tikhomirov@529: import org.junit.Rule; tikhomirov@529: import org.junit.Test; tikhomirov@529: import org.tmatesoft.hg.core.HgAddRemoveCommand; tikhomirov@529: import org.tmatesoft.hg.repo.HgLookup; tikhomirov@529: import org.tmatesoft.hg.repo.HgRepository; tikhomirov@529: import org.tmatesoft.hg.util.Path; tikhomirov@529: tikhomirov@529: /** tikhomirov@529: * tikhomirov@529: * @author Artem Tikhomirov tikhomirov@529: * @author TMate Software Ltd. tikhomirov@529: */ tikhomirov@529: public class TestAddRemove { tikhomirov@529: tikhomirov@529: @Rule tikhomirov@529: public ErrorCollectorExt errorCollector = new ErrorCollectorExt(); tikhomirov@529: tikhomirov@529: private HgRepository repo; tikhomirov@529: private ExecHelper eh; tikhomirov@529: tikhomirov@529: public TestAddRemove() { tikhomirov@529: } tikhomirov@529: tikhomirov@529: @Test tikhomirov@529: public void testScheduleAddition() throws Exception { tikhomirov@536: File testRepoLoc = RepoUtils.cloneRepoToTempLocation("log-1", "test-addremove-1", false); tikhomirov@529: repo = new HgLookup().detect(testRepoLoc); tikhomirov@529: tikhomirov@529: StatusOutputParser statusParser = new StatusOutputParser(); tikhomirov@529: eh = new ExecHelper(statusParser, testRepoLoc); tikhomirov@529: eh.run("hg", "status", "-A"); tikhomirov@529: assertEquals("[sanity]", 0, statusParser.getUnknown().size()); tikhomirov@529: assertEquals("[sanity]", 0, statusParser.getAdded().size()); tikhomirov@529: // tikhomirov@529: createFile(new File(testRepoLoc, "one"), "1"); tikhomirov@529: createFile(new File(testRepoLoc, "two"), "2"); tikhomirov@529: statusParser.reset(); tikhomirov@529: eh.run("hg", "status", "-A"); tikhomirov@529: assertEquals("[sanity]", 2, statusParser.getUnknown().size()); tikhomirov@529: assertEquals("[sanity]", 0, statusParser.getAdded().size()); tikhomirov@529: tikhomirov@529: new HgAddRemoveCommand(repo).add(Path.create("one"), Path.create("two")).execute(); tikhomirov@529: statusParser.reset(); tikhomirov@529: eh.run("hg", "status", "-A"); tikhomirov@529: assertEquals(0, statusParser.getUnknown().size()); tikhomirov@529: assertEquals(2, statusParser.getAdded().size()); tikhomirov@529: } tikhomirov@529: tikhomirov@529: @Test tikhomirov@529: public void testScheduleRemoval() throws Exception { tikhomirov@536: File testRepoLoc = RepoUtils.cloneRepoToTempLocation("log-1", "test-addremove-2", false); tikhomirov@529: repo = new HgLookup().detect(testRepoLoc); tikhomirov@529: tikhomirov@529: StatusOutputParser statusParser = new StatusOutputParser(); tikhomirov@529: eh = new ExecHelper(statusParser, testRepoLoc); tikhomirov@529: eh.run("hg", "status", "-A"); tikhomirov@529: assertEquals("[sanity]", 0, statusParser.getUnknown().size()); tikhomirov@529: assertEquals("[sanity]", 0, statusParser.getRemoved().size()); tikhomirov@529: tikhomirov@529: new HgAddRemoveCommand(repo).remove(Path.create("b"), Path.create("d")).execute(); tikhomirov@529: statusParser.reset(); tikhomirov@529: eh.run("hg", "status", "-A"); tikhomirov@529: assertEquals(2, statusParser.getRemoved().size()); tikhomirov@529: } tikhomirov@529: }