def test_money_initialized_with_many_decimals(self):
        # Arrange
        # Act
        result1 = Money(1000.333, Currency.USD)
        result2 = Money(5005.556666, Currency.USD)

        # Assert
        self.assertEqual('1,000.33', result1.to_string(format_commas=True))
        self.assertEqual('5,005.56', result2.to_string(format_commas=True))
    def test_money_str(self):
        # Arrange
        money0 = Money(0, Currency.USD)
        money1 = Money(1, Currency.USD)
        money2 = Money(1000000, Currency.USD)

        # Act
        # Assert
        self.assertEqual('0.00', str(money0))
        self.assertEqual('1.00', str(money1))
        self.assertEqual('1.00', money1.to_string())
        self.assertEqual('1000000.00', str(money2))
        self.assertEqual('1,000,000.00', money2.to_string(format_commas=True))
        self.assertEqual('1,000,000.00 USD', money2.to_string_formatted())