| /* | |
| * Copyright (C) 2022, Google Inc. and others | |
| * | |
| * This program and the accompanying materials are made available under the | |
| * terms of the Eclipse Distribution License v. 1.0 which is available at | |
| * https://www.eclipse.org/org/documents/edl-v10.php. | |
| * | |
| * SPDX-License-Identifier: BSD-3-Clause | |
| */ | |
| package org.eclipse.jgit.diff; | |
| import static org.junit.Assert.assertEquals; | |
| import org.eclipse.jgit.diff.DiffEntry.ChangeType; | |
| import org.eclipse.jgit.junit.RepositoryTestCase; | |
| import org.eclipse.jgit.junit.TestRepository; | |
| import org.eclipse.jgit.lib.AbbreviatedObjectId; | |
| import org.eclipse.jgit.lib.FileMode; | |
| import org.eclipse.jgit.lib.ObjectId; | |
| import org.eclipse.jgit.lib.Repository; | |
| import org.junit.Before; | |
| public abstract class AbstractRenameDetectionTestCase | |
| extends RepositoryTestCase { | |
| protected static final String PATH_A = "src/A"; | |
| protected static final String PATH_B = "src/B"; | |
| protected static final String PATH_H = "src/H"; | |
| protected static final String PATH_Q = "src/Q"; | |
| protected TestRepository<Repository> testDb; | |
| @Override | |
| @Before | |
| public void setUp() throws Exception { | |
| super.setUp(); | |
| testDb = new TestRepository<>(db); | |
| } | |
| protected ObjectId blob(String content) throws Exception { | |
| return testDb.blob(content).copy(); | |
| } | |
| protected static void assertRename(DiffEntry o, DiffEntry n, int score, | |
| DiffEntry rename) { | |
| assertEquals(ChangeType.RENAME, rename.getChangeType()); | |
| assertEquals(o.getOldPath(), rename.getOldPath()); | |
| assertEquals(n.getNewPath(), rename.getNewPath()); | |
| assertEquals(o.getOldMode(), rename.getOldMode()); | |
| assertEquals(n.getNewMode(), rename.getNewMode()); | |
| assertEquals(o.getOldId(), rename.getOldId()); | |
| assertEquals(n.getNewId(), rename.getNewId()); | |
| assertEquals(score, rename.getScore()); | |
| } | |
| protected static void assertCopy(DiffEntry o, DiffEntry n, int score, | |
| DiffEntry copy) { | |
| assertEquals(ChangeType.COPY, copy.getChangeType()); | |
| assertEquals(o.getOldPath(), copy.getOldPath()); | |
| assertEquals(n.getNewPath(), copy.getNewPath()); | |
| assertEquals(o.getOldMode(), copy.getOldMode()); | |
| assertEquals(n.getNewMode(), copy.getNewMode()); | |
| assertEquals(o.getOldId(), copy.getOldId()); | |
| assertEquals(n.getNewId(), copy.getNewId()); | |
| assertEquals(score, copy.getScore()); | |
| } | |
| protected static void assertAdd(String newName, ObjectId newId, | |
| FileMode newMode, DiffEntry add) { | |
| assertEquals(DiffEntry.DEV_NULL, add.oldPath); | |
| assertEquals(DiffEntry.A_ZERO, add.oldId); | |
| assertEquals(FileMode.MISSING, add.oldMode); | |
| assertEquals(ChangeType.ADD, add.changeType); | |
| assertEquals(newName, add.newPath); | |
| assertEquals(AbbreviatedObjectId.fromObjectId(newId), add.newId); | |
| assertEquals(newMode, add.newMode); | |
| } | |
| protected static void assertDelete(String oldName, ObjectId oldId, | |
| FileMode oldMode, DiffEntry delete) { | |
| assertEquals(DiffEntry.DEV_NULL, delete.newPath); | |
| assertEquals(DiffEntry.A_ZERO, delete.newId); | |
| assertEquals(FileMode.MISSING, delete.newMode); | |
| assertEquals(ChangeType.DELETE, delete.changeType); | |
| assertEquals(oldName, delete.oldPath); | |
| assertEquals(AbbreviatedObjectId.fromObjectId(oldId), delete.oldId); | |
| assertEquals(oldMode, delete.oldMode); | |
| } | |
| } |