MbUnit:比較雙打最優雅的方式? (MbUnit: The most elegant way to compare doubles?)


問題描述

MbUnit:比較雙打最優雅的方式? (MbUnit: The most elegant way to compare doubles?)

The code

Assert.AreEqual (9.97320998018748d, observerPosition.CenterLongitude);

produces

Expected Value & Actual Value : 9.97320998018748
Remark : Both values look the same when formatted but they 
are distinct instances.

What is the most elegant way to compare two doubles for equality in MbUnit 3.0? I know I could round them up myself, but is there some MbUnit construct for this?

UPDATE: I consider my current "workaround" to be non‑elegant:

Assert.LessThan(
   Math.Abs(9.97320998018748d ‑ observerPosition.CenterLongitude),
   0.0000001);

‑‑‑‑‑

參考解法

方法 1:

AreApproximatelyEqual seems to be the "MbUnit construct for this":

  

Verifies that an actual value   approximately equals some expected   value to within a specified delta.

This seems to be similar to Assert.AreEqual(double expected, double actual, double delta)

(by Igor BrejcDaniel LeCheminant)

參考文件

  1. MbUnit: The most elegant way to compare doubles? (CC BY‑SA 3.0/4.0)

#mbunit #gallio






相關問題

我可以圍繞 NUnit、MbUnit、xUnit 或其他測試框架創建一個包裝器嗎? (Can I create a wrapper around NUnit, MbUnit, xUnit or other testing framework?)

MbUnit / Gallio 上的 FixtureSetup 未運行 (FixtureSetup on MbUnit / Gallio doesn't run)

我可以使用我的 WatiN 測試來進行壓力測試嗎? (Can i use my WatiN tests to stresstest?)

Debug Unit Test bằng cách sử dụng Resharper 7 cho MBUnit ném ra một ngoại lệ (Debug Unit Tests using Resharper 7 for MBUnit throws an exception)

TestDriven.NET沒有運行我的MbUnit的SetUp方法 (TestDriven.NET is not running my SetUp methods for MbUnit)

Gallio用戶,您使用此工具有哪些優缺點? (Users of Gallio, what Advantages and Disadvantages have you experienced using this Tool?)

你知道任何關於 MBUnit 的教程嗎? (do you know any tutorial for MBUnit?)

MbUnit:比較雙打最優雅的方式? (MbUnit: The most elegant way to compare doubles?)

如何將 MBUnit 測試添加到 CruiseControl.Net 配置文件 (how to add MBUnit test to CruiseControl.Net config file)

MbUnit 回滾 (MbUnit Rollback)

使用 MbUnit3 的 [Rollback] 對 NHibernate 與 SQLite 的交互進行單元測試 (Using MbUnit3's [Rollback] for unit testing NHibernate interactions with SQLite)

MbUnit.framework.dll 可並行化屬性 (MbUnit.framework.dll Parallelizable attribute)







留言討論