On Fri, 2 Nov 2012, ik wrote:

Hello,

I'm trying to check Single value.

I'm doing the following:

a := 1.1;
b := 1.1;
CheckEquals(a, b, Format('val %f does not equal %f', [a, b]));

It reports an error, one of them are 1.1 and the other is 1,10 .
I know about the possible drifts of floating points, but how can I
create a test for such type of values ?

Use the delta:

class procedure AssertEquals(const AMessage: string; Expected, Actual, Delta: 
double); overload;

or, if you insist on using the Delphi compatibility layer:

class procedure CheckNotEquals(expected: extended; actual: extended; delta: 
extended = 0; msg: string = ''); overload; virtual;

Michael.
_______________________________________________
fpc-pascal maillist  -  fpc-pascal@lists.freepascal.org
http://lists.freepascal.org/mailman/listinfo/fpc-pascal

Reply via email to