Menguji Data Bertipe Float dan Double

Menguji Float dan Double

Kalau kita lihat dalam daftar overloading AreEquals() dan AreNotEquals(), jika kita membandingkan object bertipe float dan double, ada tambahan argument: tolerance. Nilai dari tolerance ini adalah nilai yang menyatakan valid jika selisihnya tidak melebihi toleransi.

[Test] 
public void TestDoubleTolerance(){ 
	double limaKomaNol=5.0d; 
	double limaKomaSatu=5.1d; 
	Assert.AreNotEqual(limaKomaNol,limaKomaSatu); 
	Assert.AreEqual(limaKomaNol,limaKomaSatu,0.1d); 
}

Dari kode test di atas, limaKomaNol akan dianggap berbeda dari limaKomaSatu jika tidak kita definisikan berapa toleransinya. Setelah saya definisikan 0.1 sebagai batas toleransi, limaKomaNol dan limaKomaSatu dianggap sama. Dengan kata lain, jika tanpa parameter toleransi, kedua object harus sama persis—mulai versi 2.4.4 ditentukan melalui GlobalSettings.DefaultFloatingPointTolerance. Nah, hasil pembagian, hasil perkalian dari kedua tipe ini seringkali menghasilkan data yang nilainya tak terduga, tergantung presisi yang kita pakai. Dengan cara ini problem ini tidaklah akan menjadi kendala asal kita tahu berapa toleransi yang kita inginkan.

Iklan

There are no comments on this post.

Tinggalkan Balasan

Isikan data di bawah atau klik salah satu ikon untuk log in:

Logo WordPress.com

You are commenting using your WordPress.com account. Logout / Ubah )

Gambar Twitter

You are commenting using your Twitter account. Logout / Ubah )

Foto Facebook

You are commenting using your Facebook account. Logout / Ubah )

Foto Google+

You are commenting using your Google+ account. Logout / Ubah )

Connecting to %s

%d blogger menyukai ini: