Я использую ScalaTest (3.0.4), и не могу заставить работать какие-либо примеры сравнения чисел с плавающей запятой с допустимым отклонением. Вот что у меня есть:
import org.scalatest.{MustMatchers, WordSpec}
class DetectionClusteringSpec extends WordSpec with MustMatchers {
"EmbeddingsGroup.vecdist" should {
"correctly compute vector distance" in {
val dist = EmbeddingsGroup.vecdist(TestDetections.emb1,TestDetections.emb4)
// Note: The above method returns a Float.
dist mustBe 3.058 +- 0.1
}
}
Выше компилируется, но когда я запускаю тест, я получаю следующую ошибку:
3.0579379 was not equal to 3.058 +- 0.1
Expected :3.058 +- 0.1
Actual :3.0579379
Вместо этого я также связал следующее утверждение:
assert(dist === 3.058)
Однако это тоже не работает и выдает следующую ошибку:
3.0579379 did not equal 3.058
Expected :3.058
Actual :3.0579379
Я прочитал множество примеров сравнения чисел с плавающей запятой с обоими вышеупомянутыми синтаксисами, и похоже, что они должны работать. Мой первый пример прямо из документации .
Что я делаю не так?