Exemple #1
0
    def test_various_methods(self):
        self.assertEqual(Fixed8.FD(), Fixed8(100000000))
        self.assertEqual(Fixed8.FD(), Fixed8.One())

        sat = Fixed8.Satoshi()
        self.assertEqual(sat, Fixed8(1))
        self.assertEqual(sat.value, 1)

        negsat = Fixed8.NegativeSatoshi()
        self.assertEqual(negsat, Fixed8(-1))
        self.assertEqual(negsat.value, -1)

        zero = Fixed8.Zero()
        self.assertEqual(zero, Fixed8(0))
        self.assertEqual(zero.value, 0)

        decimal = 1.2
        f8 = Fixed8.FromDecimal(decimal)
        self.assertEqual(f8.value, f8.GetData())

        f8 = Fixed8.TryParse(123.123)
        f8 = Fixed8.TryParse(123)

        self.assertEqual(f8.Size(), 8)

        zero = Fixed8.TryParse(0)
        self.assertEqual(zero, Fixed8(0))

        self.assertEqual(Fixed8.TryParse("foo"), None)
        self.assertEqual(Fixed8.TryParse(-1, require_positive=True), None)
Exemple #2
0
    def test_dunder_methods(self):
        f8_1 = Fixed8(1)
        f8_2 = Fixed8(2)

        f8 = Fixed8(1)
        f8 += f8_2
        self.assertEqual(f8, f8_1 + f8_2)

        f8 = Fixed8(1)
        f8 -= f8_2
        self.assertEqual(f8, f8_1 - f8_2)

        f8 = Fixed8(1)
        f8 *= f8_2
        self.assertEqual(f8, f8_1 * f8_2)

        f8 = Fixed8(1)
        f8 //= f8_2
        self.assertEqual(f8, f8_1 // f8_2)

        f8 = Fixed8(1)
        f8 /= f8_2
        self.assertEqual(f8, f8_1 / f8_2)

        f8 = Fixed8(1)
        f8 %= f8_2
        self.assertEqual(f8, f8_1 % f8_2)

        self.assertTrue(f8_1 < f8_2)
        self.assertTrue(f8_2 > f8_1)

        self.assertTrue(f8_1 <= f8_2)
        self.assertTrue(f8_1 <= Fixed8(2))

        self.assertTrue(f8_2 >= f8_1)
        self.assertTrue(f8_2 >= Fixed8(2))

        f8 = Fixed8.One()
        self.assertEqual(f8.ToInt(), 1)
        self.assertEqual(f8.ToString(), "1.0")
        self.assertTrue(isinstance(f8.ToString(), str))