Я пытаюсь написать утверждение, сравнивающее две даты друг с другом с Is.GreaterThanOrEqualTo(...)
. Я хотел бы дать допуск к этой проверке, который составляет 2 миллисекунды для стороны равенства. Я могу сделать это при использовании Is.EqualTo(...).Within(TimeSpan.FromMilliseconds(2))
, и это работает. Но когда я ставлю .Within(TimeSpan.FromMilliseconds(2))
на Is.GreaterThanOrEqualTo(...)
, я получаю следующий вывод при запуске теста:
System.InvalidOperationException : Cannot create range for a non-numeric value
at NUnit.Framework.Constraints.Tolerance.LinearRange(Object value)
at NUnit.Framework.Constraints.GreaterThanOrEqualConstraint.PerformComparison(ComparisonAdapter comparer, Object actual, Object expected, Tolerance tolerance)
at NUnit.Framework.Constraints.ComparisonConstraint.ApplyTo[TActual](TActual actual)
at NUnit.Framework.Assert.That[TActual](TActual actual, IResolveConstraint expression, String message, Object[] args)
at NUnit.Framework.Assert.That[TActual](TActual actual, IResolveConstraint expression)
at Quantapoint.Tests.DataService.Queries.FeatureClassificationFilterTests.DateTimeFilterReturnsExpectedResult(String testName, FeatureRequest[] requests, String attributeName, DateTime expectedValue, DateTime secondExpectedValue, Comparisons comparisonMode) in ...
Есть ли способ написать это, все еще используя ограничение Is.GreaterThanOrEqualTo(...)
, илимне нужно разделить свои ограничения и объединить их с ИЛИ?