def test_should_calculate_profit(self, token1, token2): # given step1 = Conversion(token1, token2, Ray.from_number(1.01), Wad.from_number(1000), 'met1') step1.source_amount = Wad.from_number(100) step1.target_amount = Wad.from_number(101) step2 = Conversion(token2, token1, Ray.from_number(1.02), Wad.from_number(1000), 'met2') step2.source_amount = Wad.from_number(101) step2.target_amount = Wad.from_number(103.02) # when sequence = Sequence([step1, step2]) # then assert sequence.profit(token1) == Wad.from_number(3.02) assert sequence.profit(token2) == Wad.from_number(0)
def test_nicely_convert_to_string_with_amounts(token1, token2): # given conversion = Conversion(token1, token2, Ray.from_number(1.01), Wad.from_number(1000), 'met()') conversion.source_amount = Wad.from_number(50) conversion.target_amount = Wad.from_number(50.5) # expect assert str(conversion) == "[50.000000000000000000 0x0101010101010101010101010101010101010101 -> 50.500000000000000000 0x0202020202020202020202020202020202020202 @1.010000000000000000000000000" \ " by met() (max=1000.000000000000000000 0x0101010101010101010101010101010101010101)]"