মনে রাখবেন যে আপনি যদি গণিত করছেন না, সঠিক ভাসমান পয়েন্টের মানগুলি বলার সাথে কোনও ভুল নেই। এই ক্ষেত্রে:
public interface Foo {
double getDefaultValue();
}
public class FooImpl implements Foo {
public double getDefaultValue() { return Double.MIN_VALUE; }
}
এই ক্ষেত্রে, আপনি নিশ্চিত করতে চান যে এটি সত্যই MIN_VALUE
, শূন্য নয় -MIN_VALUE
বা MIN_NORMAL
বা অন্য কোনও খুব সামান্য মান। তুমি বলতে পারো
double defaultValue = new FooImpl().getDefaultValue();
assertEquals(Double.MIN_VALUE, defaultValue);
তবে এটি আপনাকে অবমূল্যায়নের সতর্কতা দেবে। এটি এড়াতে, আপনি assertEquals(Object, Object)
পরিবর্তে কল করতে পারেন :
// really you just need one cast because of autoboxing, but let's be clear
assertEquals((Object)Double.MIN_VALUE, (Object)defaultValue);
এবং, আপনি যদি সত্যিই চতুর দেখতে চান:
assertEquals(
Double.doubleToLongBits(Double.MIN_VALUE),
Double.doubleToLongBits(defaultValue)
);
অথবা আপনি কেবল হামক্রস্টের সাবলীল-শৈলীর অবস্থান ব্যবহার করতে পারেন:
// equivalent to assertEquals((Object)Double.MIN_VALUE, (Object)defaultValue);
assertThat(defaultValue, is(Double.MIN_VALUE));
মান তুমি পরীক্ষণ যদি না কিছু গণিত এর করছেন থেকে আসা, যদিও, Epsilon ব্যবহার করুন।