Skip to content

Commit

Permalink
test: add more tests for FileStatusUtilities
Browse files Browse the repository at this point in the history
  • Loading branch information
jonisavo committed Jul 15, 2023
1 parent ea22f9c commit 4135ee2
Showing 1 changed file with 71 additions and 0 deletions.
Original file line number Diff line number Diff line change
@@ -1,5 +1,6 @@
using NUnit.Framework;
using LibGit2Sharp;
using NSubstitute;
using UnityGit.Core.Utilities;

namespace UnityGit.Tests.Core
Expand All @@ -16,13 +17,35 @@ public void IsModified_ReturnsTrue_WhenStatusHasModifiedFlags()
Assert.IsTrue(result);
}

[Test]
public void IsModified_ReturnsTrue_WhenEntryHasModifiedFlags()
{
var entry = Substitute.For<StatusEntry>();
entry.State.Returns(FileStatus.ModifiedInIndex | FileStatus.ModifiedInWorkdir);

var result = FileStatusUtilities.IsModified(entry);

Assert.IsTrue(result);
}

[Test]
public void IsModified_ReturnsFalse_WhenStatusDoesNotHaveModifiedFlags()
{
var result = FileStatusUtilities.IsModified(FileStatus.Unaltered);

Assert.IsFalse(result);
}

[Test]
public void IsModified_ReturnsFalse_WhenEntryDoesNotHaveModifiedFlags()
{
var entry = Substitute.For<StatusEntry>();
entry.State.Returns(FileStatus.Unaltered);

var result = FileStatusUtilities.IsModified(entry);

Assert.IsFalse(result);
}

[Test]
public void IsNew_ReturnsTrue_WhenStatusHasNewFlags()
Expand All @@ -32,6 +55,17 @@ public void IsNew_ReturnsTrue_WhenStatusHasNewFlags()

Assert.IsTrue(result);
}

[Test]
public void IsNew_ReturnsTrue_WhenEntryHasNewFlags()
{
var entry = Substitute.For<StatusEntry>();
entry.State.Returns(FileStatus.NewInIndex | FileStatus.NewInWorkdir);

var result = FileStatusUtilities.IsNew(entry);

Assert.IsTrue(result);
}

[Test]
public void IsNew_ReturnsFalse_WhenStatusDoesNotHaveNewFlags()
Expand All @@ -40,6 +74,17 @@ public void IsNew_ReturnsFalse_WhenStatusDoesNotHaveNewFlags()

Assert.IsFalse(result);
}

[Test]
public void IsNew_ReturnsFalse_WhenEntryDoesNotHaveNewFlags()
{
var entry = Substitute.For<StatusEntry>();
entry.State.Returns(FileStatus.Unaltered);

var result = FileStatusUtilities.IsNew(entry);

Assert.IsFalse(result);
}

[Test]
public void IsRenamed_ReturnsTrue_WhenStatusHasRenamedFlags()
Expand Down Expand Up @@ -82,6 +127,17 @@ public void Exists_ReturnsTrue_WhenStatusDoesNotExistFlagsAreNotSet()

Assert.IsTrue(result);
}

[Test]
public void Exists_ReturnsTrue_WhenEntryDoesNotExistFlagsAreNotSet()
{
var entry = Substitute.For<StatusEntry>();
entry.State.Returns(FileStatus.Unaltered);

var result = FileStatusUtilities.Exists(entry);

Assert.IsTrue(result);
}

[Test]
public void Exists_ReturnsFalse_WhenStatusHasNonexistentFlag()
Expand All @@ -99,5 +155,20 @@ public void Exists_ReturnsFalse_WhenStatusHasDeletedFlags()

Assert.IsFalse(result);
}

[Test]
public void Exists_ReturnsFalse_WhenEntryHasNonexistentOrDeletedFlags()
{
var entryDeleted = Substitute.For<StatusEntry>();
entryDeleted.State.Returns(FileStatus.DeletedFromIndex | FileStatus.DeletedFromWorkdir);
var entryNonexistent = Substitute.For<StatusEntry>();
entryNonexistent.State.Returns(FileStatus.Nonexistent);

var deletedResult = FileStatusUtilities.Exists(entryDeleted);
var nonexistentResult = FileStatusUtilities.Exists(entryNonexistent);

Assert.IsFalse(deletedResult);
Assert.IsFalse(nonexistentResult);
}
}
}

0 comments on commit 4135ee2

Please sign in to comment.