Skip to content

Commit

Permalink
test: add tests for the majority of the Core assembly (#2)
Browse files Browse the repository at this point in the history
  • Loading branch information
jonisavo authored Jul 29, 2023
1 parent c7d0146 commit 8ee3946
Show file tree
Hide file tree
Showing 40 changed files with 1,259 additions and 139 deletions.
2 changes: 2 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -71,3 +71,5 @@ crashlytics-build.properties
Packages/io.savolainen.test/
CodeCoverage/
/artifacts/

.DS_Store
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);
}
}
}
65 changes: 0 additions & 65 deletions Packages/io.savolainen.unitygit-tests/Core/ServiceTestBed.cs

This file was deleted.

This file was deleted.

Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,7 @@
using NSubstitute;
using NSubstitute.ExceptionExtensions;
using NUnit.Framework;
using UIComponents.Testing;
using UnityGit.Core.Services;

namespace UnityGit.Tests.Core.Services
Expand All @@ -25,7 +26,7 @@ public void SetUp()
_branch = Substitute.For<Branch>();
var tip = Substitute.For<Commit>();
_branch.Tip.Returns(tip);
_checkoutService = new ServiceTestBed<CheckoutService>()
_checkoutService = new TestBed<CheckoutService>()
.WithSingleton(_logService)
.WithSingleton(_commandsService)
.Instantiate();
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,7 @@
using NSubstitute;
using NSubstitute.ExceptionExtensions;
using NUnit.Framework;
using UIComponents.Testing;
using UnityGit.Core.Services;

namespace UnityGit.Tests.Core.Services
Expand Down Expand Up @@ -37,7 +38,7 @@ public void Setup()
Arg.Any<Signature>()
).Returns(Substitute.For<Commit>());

_commitService = new ServiceTestBed<CommitService>()
_commitService = new TestBed<CommitService>()
.WithSingleton(_logService)
.WithSingleton(_progressService)
.WithSingleton(_commandsService)
Expand Down
Loading

0 comments on commit 8ee3946

Please sign in to comment.