PasswordSignInAsync
, которые вы настроили для теста, и тот, который вызывается в тестируемом методе, имеют разные подписи.
Итак, вы настраиваете неправильный метод.
Обновить настройки
_mockSignInManager.Setup(
x => x.PasswordSignInAsync(It.IsAny(), It.IsAny(), It.IsAny(),
It.IsAny())).Returns(Task.FromResult(SignInResult.Success));
Из документации MSDN относительно Color.operator ==
:
Этот метод сравнивает больше, чем значения ARGB цветовых структур. Это также делает сравнение некоторых флагов состояния. Если Вы хотите сравнить просто значения ARGB двух цветовых структур, сравнить их использующий метод ToArgb.
Я предполагаю, что флаги состояния отличаются.
Они не будут равняться тому же как Цвет. Синий не равняется Вашему цветовому объекту, он равняется чему-то сохраненному внутренне, "новый Цвет (KnownColor. Синий)"; быть точным.
Я ожидал бы, что это с Утверждает. AreSame из-за упаковки с типами значения, но AreEqual не должен иметь этой проблемы.
Вы могли добавить, какой язык (я принимаю C#), Ваше использование и который среда тестирования?
Что делает Assert.AreEqual(true, Color.Blue == fred);
результат в?
Кроме того, это тоже работает, и я думаю, что это более интуитивно понятно
[Test]
public void ColorTransform()
{
var argbInt = Color.LightCyan.ToArgb();
Color backColor = Color.FromArgb(argbInt);
Assert.AreEqual(Color.LightCyan.A, backColor.A);
Assert.AreEqual(Color.LightCyan.B, backColor.B);
Assert.AreEqual(Color.LightCyan.G, backColor.G);
Assert.AreEqual(Color.LightCyan.R, backColor.R);
}