from freqtrade.util import FtPrecise ws = FtPrecise('-1.123e-6') ws = FtPrecise('-1.123e-6') xs = FtPrecise('0.00000002') ys = FtPrecise('69696900000') zs = FtPrecise('0') def test_FtPrecise(): assert ys * xs == '1393.938' assert xs * ys == '1393.938' assert ys + xs == '69696900000.00000002' assert xs + ys == '69696900000.00000002' assert xs - ys == '-69696899999.99999998' assert ys - xs == '69696899999.99999998' assert xs / ys == '0' assert ys / xs == '3484845000000000000' assert ws * xs == '-0.00000000000002246' assert xs * ws == '-0.00000000000002246' assert ws + xs == '-0.000001103' assert xs + ws == '-0.000001103' assert xs - ws == '0.000001143' assert ws - xs == '-0.000001143' assert xs / ws == '-0.017809439002671415' assert ws / xs == '-56.15' assert zs * ws == '0' assert zs * xs == '0' assert zs * ys == '0' assert ws * zs == '0' assert xs * zs == '0' assert ys * zs == '0' assert zs + ws == '-0.000001123' assert zs + xs == '0.00000002' assert zs + ys == '69696900000' assert ws + zs == '-0.000001123' assert xs + zs == '0.00000002' assert ys + zs == '69696900000' assert abs(FtPrecise('-500.1')) == '500.1' assert abs(FtPrecise('213')) == '213' assert abs(FtPrecise('-500.1')) == '500.1' assert -FtPrecise('213') == '-213' assert FtPrecise('10.1') % FtPrecise('0.5') == '0.1' assert FtPrecise('5550') % FtPrecise('120') == '30' assert FtPrecise('-0.0') == FtPrecise('0') assert FtPrecise('5.534000') == FtPrecise('5.5340') assert min(FtPrecise('-3.1415'), FtPrecise('-2')) == '-3.1415' assert max(FtPrecise('3.1415'), FtPrecise('-2')) == '3.1415' assert FtPrecise('2') > FtPrecise('1.2345') assert not FtPrecise('-3.1415') > FtPrecise('-2') assert not FtPrecise('3.1415') > FtPrecise('3.1415') assert FtPrecise.string_gt('3.14150000000000000000001', '3.1415') assert FtPrecise('3.1415') >= FtPrecise('3.1415') assert FtPrecise('3.14150000000000000000001') >= FtPrecise('3.1415') assert not FtPrecise('3.1415') < FtPrecise('3.1415') assert FtPrecise('3.1415') <= FtPrecise('3.1415') assert FtPrecise('3.1415') <= FtPrecise('3.14150000000000000000001') assert FtPrecise(213) == '213' assert FtPrecise(-213) == '-213' assert str(FtPrecise(-213)) == '-213' assert FtPrecise(213.2) == '213.2' assert float(FtPrecise(213.2)) == 213.2 assert float(FtPrecise(-213.2)) == -213.2