Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

test: add tests for the majority of the Core assembly #2

Merged
merged 10 commits into from
Jul 29, 2023
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