Skip to content

Commit

Permalink
set default UI culture
Browse files Browse the repository at this point in the history
As we are checking exception messages
  • Loading branch information
scott-xu committed Oct 4, 2022
1 parent db438b6 commit a90017f
Showing 1 changed file with 47 additions and 32 deletions.
79 changes: 47 additions & 32 deletions src/Ninject.Tests/Unit/ResolutionExtensionsTests.cs
Original file line number Diff line number Diff line change
Expand Up @@ -8,20 +8,35 @@
using Ninject.Tests.Fakes;
using System;
using System.Collections.Generic;
using System.Globalization;
using System.Linq;
using System.Threading;
using Xunit;

public class ResolutionExtensionsTests
public class ResolutionExtensionsTests : IDisposable
{
private Mock<IResolutionRoot> _rootMock;
private Mock<IRequest> _requestMock;
private MockSequence _sequence;
private CultureInfo originalCulture;

public ResolutionExtensionsTests()
{
_rootMock = new Mock<IResolutionRoot>(MockBehavior.Strict);
_requestMock = new Mock<IRequest>(MockBehavior.Strict);
_sequence = new MockSequence();

// https://github.com/xunit/xunit/issues/1934
// https://github.com/xunit/samples.xunit/blob/main/UseCulture/UseCultureAttribute.cs
this.originalCulture = Thread.CurrentThread.CurrentUICulture;
Thread.CurrentThread.CurrentUICulture = new CultureInfo("en-US");
CultureInfo.CurrentUICulture.ClearCachedData();
}

public void Dispose()
{
Thread.CurrentThread.CurrentUICulture = this.originalCulture;
CultureInfo.CurrentUICulture.ClearCachedData();
}

[Fact]
Expand Down Expand Up @@ -173,7 +188,7 @@ public void CanResolve_RootAndServiceAndParameters_ServiceIsNull()
var parameters = new IParameter[0];

_rootMock.InSequence(_sequence)
.Setup(p => p.CreateRequest(service, (Func<IBindingMetadata, bool>) null, parameters, false, true))
.Setup(p => p.CreateRequest(service, (Func<IBindingMetadata, bool>)null, parameters, false, true))
.Returns(_requestMock.Object);
_rootMock.InSequence(_sequence)
.Setup(p => p.CanResolve(_requestMock.Object))
Expand All @@ -185,7 +200,7 @@ public void CanResolve_RootAndServiceAndParameters_ServiceIsNull()
_requestMock.Reset();

_rootMock.InSequence(_sequence)
.Setup(p => p.CreateRequest(service, (Func<IBindingMetadata, bool>) null, parameters, false, true)).Returns(_requestMock.Object);
.Setup(p => p.CreateRequest(service, (Func<IBindingMetadata, bool>)null, parameters, false, true)).Returns(_requestMock.Object);
_rootMock.InSequence(_sequence)
.Setup(p => p.CanResolve(_requestMock.Object))
.Returns(false);
Expand All @@ -201,7 +216,7 @@ public void CanResolve_RootAndServiceAndParameters_ParametersIsNull()
IParameter[] parameters = null;

_rootMock.InSequence(_sequence)
.Setup(p => p.CreateRequest(service, (Func<IBindingMetadata, bool>) null, parameters, false, true))
.Setup(p => p.CreateRequest(service, (Func<IBindingMetadata, bool>)null, parameters, false, true))
.Returns(_requestMock.Object);
_rootMock.InSequence(_sequence)
.Setup(p => p.CanResolve(_requestMock.Object))
Expand All @@ -213,7 +228,7 @@ public void CanResolve_RootAndServiceAndParameters_ParametersIsNull()
_requestMock.Reset();

_rootMock.InSequence(_sequence)
.Setup(p => p.CreateRequest(service, (Func<IBindingMetadata, bool>) null, parameters, false, true))
.Setup(p => p.CreateRequest(service, (Func<IBindingMetadata, bool>)null, parameters, false, true))
.Returns(_requestMock.Object);
_rootMock.InSequence(_sequence)
.Setup(p => p.CanResolve(_requestMock.Object))
Expand Down Expand Up @@ -411,7 +426,7 @@ public void Get_RootAndParameters_ResolvesToInstanceOfService()
var resolvedInstance = new Dagger();

_rootMock.InSequence(_sequence)
.Setup(p => p.CreateRequest(typeof(IWeapon), (Func<IBindingMetadata, bool>) null, parameters, false, true))
.Setup(p => p.CreateRequest(typeof(IWeapon), (Func<IBindingMetadata, bool>)null, parameters, false, true))
.Returns(_requestMock.Object);
_rootMock.InSequence(_sequence)
.Setup(p => p.ResolveSingle(_requestMock.Object))
Expand Down Expand Up @@ -451,7 +466,7 @@ public void Get_RootAndParameters_ResolveThrowsActivationException()
var activationException = new ActivationException();

_rootMock.InSequence(_sequence)
.Setup(p => p.CreateRequest(typeof(IWeapon), (Func<IBindingMetadata, bool>) null, parameters, false, true))
.Setup(p => p.CreateRequest(typeof(IWeapon), (Func<IBindingMetadata, bool>)null, parameters, false, true))
.Returns(_requestMock.Object);
_rootMock.InSequence(_sequence)
.Setup(p => p.ResolveSingle(_requestMock.Object))
Expand Down Expand Up @@ -673,7 +688,7 @@ public void TryGet_RootAndParameters_ResolvesToNull()
var parameters = new IParameter[0];

_rootMock.InSequence(_sequence)
.Setup(p => p.CreateRequest(typeof(IWeapon), (Func<IBindingMetadata, bool>) null, parameters, true, true))
.Setup(p => p.CreateRequest(typeof(IWeapon), (Func<IBindingMetadata, bool>)null, parameters, true, true))
.Returns(_requestMock.Object);
_rootMock.InSequence(_sequence)
.Setup(p => p.ResolveSingle(_requestMock.Object))
Expand All @@ -692,7 +707,7 @@ public void TryGet_RootAndParameters_ResolvesToInstanceOfService()
var resolvedInstance = new Dagger();

_rootMock.InSequence(_sequence)
.Setup(p => p.CreateRequest(typeof(IWeapon), (Func<IBindingMetadata, bool>) null, parameters, true, true))
.Setup(p => p.CreateRequest(typeof(IWeapon), (Func<IBindingMetadata, bool>)null, parameters, true, true))
.Returns(_requestMock.Object);
_rootMock.InSequence(_sequence)
.Setup(p => p.ResolveSingle(_requestMock.Object))
Expand All @@ -712,7 +727,7 @@ public void TryGet_RootAndParameters_ResolvesToInstanceNotOfService()
var resolvedInstance = 5L;

_rootMock.InSequence(_sequence)
.Setup(p => p.CreateRequest(typeof(IWarrior), (Func<IBindingMetadata, bool>) null, parameters, true, true))
.Setup(p => p.CreateRequest(typeof(IWarrior), (Func<IBindingMetadata, bool>)null, parameters, true, true))
.Returns(_requestMock.Object);
_rootMock.InSequence(_sequence)
.Setup(p => p.ResolveSingle(_requestMock.Object))
Expand All @@ -732,7 +747,7 @@ public void TryGet_RootAndParameters_ResolveThrowsActivationException()
var activationException = new ActivationException();

_rootMock.InSequence(_sequence)
.Setup(p => p.CreateRequest(typeof(IWeapon), (Func<IBindingMetadata, bool>) null, parameters, true, true))
.Setup(p => p.CreateRequest(typeof(IWeapon), (Func<IBindingMetadata, bool>)null, parameters, true, true))
.Returns(_requestMock.Object);
_rootMock.InSequence(_sequence)
.Setup(p => p.ResolveSingle(_requestMock.Object))
Expand Down Expand Up @@ -953,7 +968,7 @@ public void TryGetAndThrowOnInvalidBinding_RootAndParameters_ResolveReturnsNull(
var parameters = new IParameter[0];

_rootMock.InSequence(_sequence)
.Setup(p => p.CreateRequest(typeof(IWeapon), (Func<IBindingMetadata, bool>) null, parameters, true, true))
.Setup(p => p.CreateRequest(typeof(IWeapon), (Func<IBindingMetadata, bool>)null, parameters, true, true))
.Returns(_requestMock.Object);
_requestMock.InSequence(_sequence)
.SetupSet(p => p.ForceUnique = true);
Expand All @@ -974,7 +989,7 @@ public void TryGetAndThrowOnInvalidBinding_RootAndParameters_ResolvesToInstanceO
var resolvedInstance = new Dagger();

_rootMock.InSequence(_sequence)
.Setup(p => p.CreateRequest(typeof(IWeapon), (Func<IBindingMetadata, bool>) null, parameters, true, true))
.Setup(p => p.CreateRequest(typeof(IWeapon), (Func<IBindingMetadata, bool>)null, parameters, true, true))
.Returns(_requestMock.Object);
_requestMock.InSequence(_sequence)
.SetupSet(p => p.ForceUnique = true);
Expand All @@ -996,7 +1011,7 @@ public void TryGetAndThrowOnInvalidBinding_RootAndParameters_ResolvesToInstanceN
var resolvedInstance = 5L;

_rootMock.InSequence(_sequence)
.Setup(p => p.CreateRequest(typeof(IWarrior), (Func<IBindingMetadata, bool>) null, parameters, true, true))
.Setup(p => p.CreateRequest(typeof(IWarrior), (Func<IBindingMetadata, bool>)null, parameters, true, true))
.Returns(_requestMock.Object);
_requestMock.InSequence(_sequence)
.SetupSet(p => p.ForceUnique = true);
Expand Down Expand Up @@ -1282,7 +1297,7 @@ public void GetAll_RootAndParameters_NoInstancesOfService()
var resolvedInstances = Enumerable.Empty<object>();

_rootMock.InSequence(_sequence)
.Setup(p => p.CreateRequest(typeof(IWeapon), (Func<IBindingMetadata, bool>) null, parameters, true, false))
.Setup(p => p.CreateRequest(typeof(IWeapon), (Func<IBindingMetadata, bool>)null, parameters, true, false))
.Returns(_requestMock.Object);
_rootMock.InSequence(_sequence)
.Setup(p => p.Resolve(_requestMock.Object))
Expand All @@ -1302,11 +1317,11 @@ public void GetAll_RootAndParameters_SingleInstanceOfService()
var resolvedInstances = new object[] { new Dagger() };

_rootMock.InSequence(_sequence)
.Setup(p => p.CreateRequest(typeof(IWeapon), (Func<IBindingMetadata, bool>) null, parameters, true, false))
.Setup(p => p.CreateRequest(typeof(IWeapon), (Func<IBindingMetadata, bool>)null, parameters, true, false))
.Returns(_requestMock.Object);
_rootMock.InSequence(_sequence)
.Setup(p => p.Resolve(_requestMock.Object))
.Returns((IEnumerable<object>) resolvedInstances);
.Returns((IEnumerable<object>)resolvedInstances);

var actual = ResolutionExtensions.GetAll<IWeapon>(root, parameters);

Expand All @@ -1328,11 +1343,11 @@ public void GetAll_RootAndParameters_SingleInstanceNotOfService()
var resolvedInstances = new object[] { 5L };

_rootMock.InSequence(_sequence)
.Setup(p => p.CreateRequest(typeof(IWarrior), (Func<IBindingMetadata, bool>) null, parameters, true, false))
.Setup(p => p.CreateRequest(typeof(IWarrior), (Func<IBindingMetadata, bool>)null, parameters, true, false))
.Returns(_requestMock.Object);
_rootMock.InSequence(_sequence)
.Setup(p => p.Resolve(_requestMock.Object))
.Returns((IEnumerable<object>) resolvedInstances);
.Returns((IEnumerable<object>)resolvedInstances);

var actual = ResolutionExtensions.GetAll<IWarrior>(root, parameters);

Expand All @@ -1355,11 +1370,11 @@ public void GetAll_RootAndParameters_MultipleInstancesOfService()
var resolvedInstances = new object[] { new Dagger(), new Sword() };

_rootMock.InSequence(_sequence)
.Setup(p => p.CreateRequest(typeof(IWeapon), (Func<IBindingMetadata, bool>) null, parameters, true, false))
.Setup(p => p.CreateRequest(typeof(IWeapon), (Func<IBindingMetadata, bool>)null, parameters, true, false))
.Returns(_requestMock.Object);
_rootMock.InSequence(_sequence)
.Setup(p => p.Resolve(_requestMock.Object))
.Returns((IEnumerable<object>) resolvedInstances);
.Returns((IEnumerable<object>)resolvedInstances);

var actual = ResolutionExtensions.GetAll<IWeapon>(root, parameters);

Expand All @@ -1375,11 +1390,11 @@ public void GetAll_RootAndParameters_MultipleInstancesNotOfService_ShouldThrowIn
var resolvedInstances = new object[] { new Dagger(), new Monk() };

_rootMock.InSequence(_sequence)
.Setup(p => p.CreateRequest(typeof(IWeapon), (Func<IBindingMetadata, bool>) null, parameters, true, false))
.Setup(p => p.CreateRequest(typeof(IWeapon), (Func<IBindingMetadata, bool>)null, parameters, true, false))
.Returns(_requestMock.Object);
_rootMock.InSequence(_sequence)
.Setup(p => p.Resolve(_requestMock.Object))
.Returns((IEnumerable<object>) resolvedInstances);
.Returns((IEnumerable<object>)resolvedInstances);

var actual = ResolutionExtensions.GetAll<IWeapon>(root, parameters);

Expand All @@ -1405,7 +1420,7 @@ public void GetAll_RootAndParameters_ResolveThrowsActivationException()
var activationException = new ActivationException();

_rootMock.InSequence(_sequence)
.Setup(p => p.CreateRequest(typeof(IWeapon), (Func<IBindingMetadata, bool>) null, parameters, true, false))
.Setup(p => p.CreateRequest(typeof(IWeapon), (Func<IBindingMetadata, bool>)null, parameters, true, false))
.Returns(_requestMock.Object);
_rootMock.InSequence(_sequence)
.Setup(p => p.Resolve(_requestMock.Object))
Expand Down Expand Up @@ -1464,7 +1479,7 @@ public void GetAll_RootAndConstraintAndParameters_SingleInstanceOfService()
.Returns(_requestMock.Object);
_rootMock.InSequence(_sequence)
.Setup(p => p.Resolve(_requestMock.Object))
.Returns((IEnumerable<object>) resolvedInstances);
.Returns((IEnumerable<object>)resolvedInstances);

var actual = ResolutionExtensions.GetAll<IWeapon>(root, constraint, parameters);

Expand All @@ -1491,7 +1506,7 @@ public void GetAll_RootAndConstraintAndParameters_SingleInstanceNotOfService()
.Returns(_requestMock.Object);
_rootMock.InSequence(_sequence)
.Setup(p => p.Resolve(_requestMock.Object))
.Returns((IEnumerable<object>) resolvedInstances);
.Returns((IEnumerable<object>)resolvedInstances);

var actual = ResolutionExtensions.GetAll<IWarrior>(root, constraint, parameters);

Expand Down Expand Up @@ -1519,7 +1534,7 @@ public void GetAll_RootAndConstraintAndParameters_MultipleInstancesOfService()
.Returns(_requestMock.Object);
_rootMock.InSequence(_sequence)
.Setup(p => p.Resolve(_requestMock.Object))
.Returns((IEnumerable<object>) resolvedInstances);
.Returns((IEnumerable<object>)resolvedInstances);

var actual = ResolutionExtensions.GetAll<IWeapon>(root, constraint, parameters);

Expand All @@ -1539,7 +1554,7 @@ public void GetAll_RootAndConstraintAndParameters_MultipleInstancesNotOfService_
.Returns(_requestMock.Object);
_rootMock.InSequence(_sequence)
.Setup(p => p.Resolve(_requestMock.Object))
.Returns((IEnumerable<object>) resolvedInstances);
.Returns((IEnumerable<object>)resolvedInstances);

var actual = ResolutionExtensions.GetAll<IWeapon>(root, constraint, parameters);

Expand Down Expand Up @@ -1623,7 +1638,7 @@ public void GetAll_RootAndNameAndParameters_SingleInstanceOfService()
.Returns(_requestMock.Object);
_rootMock.InSequence(_sequence)
.Setup(p => p.Resolve(_requestMock.Object))
.Returns((IEnumerable<object>) resolvedInstances);
.Returns((IEnumerable<object>)resolvedInstances);

var actual = ResolutionExtensions.GetAll<IWeapon>(root, name, parameters);

Expand All @@ -1644,7 +1659,7 @@ public void GetAll_RootAndNameAndParameters_SingleInstanceNotOfService()
.Returns(_requestMock.Object);
_rootMock.InSequence(_sequence)
.Setup(p => p.Resolve(_requestMock.Object))
.Returns((IEnumerable<object>) resolvedInstances);
.Returns((IEnumerable<object>)resolvedInstances);

var actual = ResolutionExtensions.GetAll<string>(root, name, parameters);

Expand All @@ -1670,7 +1685,7 @@ public void GetAll_RootAndNameAndParameters_MultipleInstancesOfService()
.Returns(_requestMock.Object);
_rootMock.InSequence(_sequence)
.Setup(p => p.Resolve(_requestMock.Object))
.Returns((IEnumerable<object>) resolvedInstances);
.Returns((IEnumerable<object>)resolvedInstances);

var actual = ResolutionExtensions.GetAll<IWeapon>(root, name, parameters);

Expand All @@ -1690,7 +1705,7 @@ public void GetAll_RootAndNameAndParameters_MultipleInstancesNotOfService_Should
.Returns(_requestMock.Object);
_rootMock.InSequence(_sequence)
.Setup(p => p.Resolve(_requestMock.Object))
.Returns((IEnumerable<object>) resolvedInstances);
.Returns((IEnumerable<object>)resolvedInstances);

var actual = ResolutionExtensions.GetAll<IWeapon>(root, name, parameters);

Expand Down

0 comments on commit a90017f

Please sign in to comment.