NUnit 3 DateTime GreatThanOrEqualTo Внутри - PullRequest
0 голосов
/ 31 октября 2019

Я пытаюсь написать утверждение, сравнивающее две даты друг с другом с 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(...), илимне нужно разделить свои ограничения и объединить их с ИЛИ?

...