@@ -41,11 +41,11 @@ def test_conversions():
4141 c1_tbl = conversions_table ( c1 , tablefmt = 'orgtbl' )
4242 print ( '\n ' + c1_tbl )
4343 assert c1_tbl == """\
44- | Coin | in ETH | in USD |
45- |------+--------+ -----------|
46- | BTC | ? | 23,456.78 |
47- | ETH | | 1,234.56 |
48- | USD | | |"""
44+ | Coin | in USD | in ETH |
45+ |------+-----------+ --------|
46+ | BTC | 23,456.78 | ? |
47+ | ETH | 1,234.56 | |
48+ | USD | | |"""
4949
5050 c_simple = dict ( c1 )
5151 c_simple_i = 0
@@ -55,11 +55,11 @@ def test_conversions():
5555 c_simple_tbl = conversions_table ( c_simple , tablefmt = 'orgtbl' )
5656 print ( c_simple_tbl )
5757 assert c_simple_tbl == """\
58- | Coin | in BTC | in ETH | in USD |
59- |------+------------+ -----------+-----------|
60- | BTC | | 19.000113 | 23,456.78 |
61- | ETH | 0.05263126 | | 1,234.56 |
62- | USD | | | |"""
58+ | Coin | in USD | in BTC | in ETH |
59+ |------+-----------+- -----------+-----------|
60+ | BTC | 23,456.78 | | 19.000113 |
61+ | ETH | 1,234.56 | 0.05263126 | |
62+ | USD | | | |"""
6363
6464 c_w_doge = dict ( c1 , ) | { ('DOGE' ,'BTC' ): .00000385 , ('DOGE' ,'USD' ): None }
6565 c_w_doge_i = 0
@@ -83,22 +83,22 @@ def test_conversions():
8383 c_w_doge_tbl = conversions_table ( c_w_doge , tablefmt = 'orgtbl' )
8484 print ( c_w_doge_tbl )
8585 assert c_w_doge_tbl == """\
86- | Coin | in BTC | in DOGE | in ETH | in USD |
87- |------+------------+ ----------------+ -----------+ ----------------|
88- | BTC | | 259,740.26 | 19.000113 | 23,456.78 |
89- | DOGE | | | | 0.0903086 |
90- | ETH | 0.05263126 | 13,670.458 | | 1,234.56 |
91- | USD | | 11.073142 | | |"""
86+ | Coin | in DOGE | in USD | in BTC | in ETH |
87+ |------+----------------+ ----------------+ ------------+ -----------|
88+ | BTC | 259,740.26 | 23,456.78 | | 19.000113 |
89+ | ETH | 13,670.458 | 1,234.56 | 0.05263126 | |
90+ | USD | 11.073142 | | | |
91+ | DOGE | | 0.0903086 | | |"""
9292
9393 c_w_doge_all = conversions_table ( c_w_doge , greater = False , tablefmt = 'orgtbl' )
9494 print ( c_w_doge_all )
9595 assert c_w_doge_all == """\
9696 | Coin | in BTC | in DOGE | in ETH | in USD |
9797|------+------------+----------------+-------------+----------------|
98- | BTC | | 259,740.26 | 19.000113 | 23,456.78 |
99- | DOGE | 3.85e-06 | | 7.315e-05 | 0.0903086 |
10098| ETH | 0.05263126 | 13,670.458 | | 1,234.56 |
101- | USD | 4.263e-05 | 11.073142 | 0.00081001 | |"""
99+ | USD | 4.263e-05 | 11.073142 | 0.00081001 | |
100+ | DOGE | 3.85e-06 | | 7.315e-05 | 0.0903086 |
101+ | BTC | | 259,740.26 | 19.000113 | 23,456.78 |"""
102102
103103 c_bad = dict ( c1 , ) | { ('DOGE' ,'USD' ): None }
104104 with pytest .raises ( Exception ) as c_bad_exc :
@@ -136,13 +136,13 @@ def test_conversions():
136136 c_zero_tbl = conversions_table ( c_zero , tablefmt = 'orgtbl' )
137137 print ( c_zero_tbl )
138138 assert c_zero_tbl == """\
139- | Coin | in BTC | in ETH | in USD | in WEENUS | in ZEENUS |
140- |--------+------------+ -----------+-----------+-----------+-----------|
141- | BTC | | 19.000113 | 23,456.78 | | |
142- | ETH | 0.05263126 | | 1,234.56 | | |
143- | USD | | | | | |
144- | WEENUS | 0 | 0 | 0 | | 1 |
145- | ZEENUS | 0 | 0 | 0 | 1 | |"""
139+ | Coin | in USD | in BTC | in ETH | in WEENUS | in ZEENUS |
140+ |--------+-----------+- -----------+-----------+-----------+-----------|
141+ | BTC | 23,456.78 | | 19.000113 | | |
142+ | ETH | 1,234.56 | 0.05263126 | | | |
143+ | USD | | | | | |
144+ | WEENUS | 0 | 0 | 0 | | 1 |
145+ | ZEENUS | 0 | 0 | 0 | 1 | |"""
146146
147147
148148line_amounts = [
@@ -356,28 +356,28 @@ def test_tabulate( tmp_path ):
356356 2 | Simple | 1 | USD | USDC | 12,345.0001 | no tax | 0 | 12,345 | 12,762.88 | 0.56723907
357357---+-------------------------------------------------+-----+---------------+--------+-------------+--------+------------+-----------------+------------+------------
358358 | BTC: bc1qk0a9hr7wjfxeenz9nwenw9flhq0tmsf6vsgnn2 | | Bitcoin | BTC | | | 0.0008844 | 0.56723907 | |
359- | ETH: 0xfc2077CA7F403cBECA41B1B0F62D91B5EA631B5E | | Ethereum | ETH | | | 0.013266 | 8.508586 | |
360- | ETH: 0xfc2077CA7F403cBECA41B1B0F62D91B5EA631B5E | | USD Coin | USDC | | | 19.9 | 12,762.88 | |
361359 | ETH: 0xfc2077CA7F403cBECA41B1B0F62D91B5EA631B5E | | Wrapped BTC | WBTC | | | 0.0008844 | 0.56723907 | |
360+ | ETH: 0xfc2077CA7F403cBECA41B1B0F62D91B5EA631B5E | | Ethereum | ETH | | | 0.013266 | 8.508586 | |
362361 | ETH: 0xfc2077CA7F403cBECA41B1B0F62D91B5EA631B5E | | Wrapped Ether | WETH | | | 0.013266 | 8.508586 | |
362+ | ETH: 0xfc2077CA7F403cBECA41B1B0F62D91B5EA631B5E | | USD Coin | USDC | | | 19.9 | 12,762.88 | |
363363 | XRP: rUPzi4ZwoYxi7peKCqUkzqEuSrzSRyLguV | | Ripple | XRP | | | 53.06 | 34,034.34 | |
364364
365365 Account | Taxes | Subtotal | Coin | Currency
366366-------------------------------------------------+------------+-----------------+------+---------------
367367 BTC: bc1qk0a9hr7wjfxeenz9nwenw9flhq0tmsf6vsgnn2 | 0.0008844 | 0.56723907 | BTC | Bitcoin
368- ETH: 0xfc2077CA7F403cBECA41B1B0F62D91B5EA631B5E | 0.013266 | 8.508586 | ETH | Ethereum
369- ETH: 0xfc2077CA7F403cBECA41B1B0F62D91B5EA631B5E | 19.9 | 12,762.88 | USDC | USD Coin
370368 ETH: 0xfc2077CA7F403cBECA41B1B0F62D91B5EA631B5E | 0.0008844 | 0.56723907 | WBTC | Wrapped BTC
369+ ETH: 0xfc2077CA7F403cBECA41B1B0F62D91B5EA631B5E | 0.013266 | 8.508586 | ETH | Ethereum
371370 ETH: 0xfc2077CA7F403cBECA41B1B0F62D91B5EA631B5E | 0.013266 | 8.508586 | WETH | Wrapped Ether
371+ ETH: 0xfc2077CA7F403cBECA41B1B0F62D91B5EA631B5E | 19.9 | 12,762.88 | USDC | USD Coin
372372 XRP: rUPzi4ZwoYxi7peKCqUkzqEuSrzSRyLguV | 53.06 | 34,034.34 | XRP | Ripple
373373
374374 Account | Taxes | Total | Coin | Currency
375375-------------------------------------------------+------------+-----------------+------+---------------
376376 BTC: bc1qk0a9hr7wjfxeenz9nwenw9flhq0tmsf6vsgnn2 | 0.0008844 | 0.56723907 | BTC | Bitcoin
377- ETH: 0xfc2077CA7F403cBECA41B1B0F62D91B5EA631B5E | 0.013266 | 8.508586 | ETH | Ethereum
378- ETH: 0xfc2077CA7F403cBECA41B1B0F62D91B5EA631B5E | 19.9 | 12,762.88 | USDC | USD Coin
379377 ETH: 0xfc2077CA7F403cBECA41B1B0F62D91B5EA631B5E | 0.0008844 | 0.56723907 | WBTC | Wrapped BTC
378+ ETH: 0xfc2077CA7F403cBECA41B1B0F62D91B5EA631B5E | 0.013266 | 8.508586 | ETH | Ethereum
380379 ETH: 0xfc2077CA7F403cBECA41B1B0F62D91B5EA631B5E | 0.013266 | 8.508586 | WETH | Wrapped Ether
380+ ETH: 0xfc2077CA7F403cBECA41B1B0F62D91B5EA631B5E | 19.9 | 12,762.88 | USDC | USD Coin
381381 XRP: rUPzi4ZwoYxi7peKCqUkzqEuSrzSRyLguV | 53.06 | 34,034.34 | XRP | Ripple""" # noqa: E501
382382
383383 # Test precision of columns related to Bitcoin; should be 8 decimals throughout, even if WBTC
@@ -417,29 +417,29 @@ def test_tabulate( tmp_path ):
417417 1 | Couchant bogy | 45 | BTC | BTC | 9e-05 | 3.5% inc | 0.00013696 | 0.00405 | 4,613.62 | 218.44 | 0.20505 | 0.00970839 | 0.20505 | 0.00970839
418418---+-------------------------------------------------+-----+---------------+------+---------+----------+--------------+--------------+------------+------------+-----------+------------+------------+------------
419419 | BTC: bc1qk0a9hr7wjfxeenz9nwenw9flhq0tmsf6vsgnn2 | | Bitcoin | BTC | | | 0.00970839 | 0.20505 | | | | | |
420- | ETH: 0xfc2077CA7F403cBECA41B1B0F62D91B5EA631B5E | | Ethereum | ETH | | | 0.145626 | 3.07575 | | | | | |
421- | ETH: 0xfc2077CA7F403cBECA41B1B0F62D91B5EA631B5E | | USD Coin | USDC | | | 218.44 | 4,613.62 | | | | | |
422420 | ETH: 0xfc2077CA7F403cBECA41B1B0F62D91B5EA631B5E | | Wrapped BTC | WBTC | | | 0.00970839 | 0.20505 | | | | | |
421+ | ETH: 0xfc2077CA7F403cBECA41B1B0F62D91B5EA631B5E | | Ethereum | ETH | | | 0.145626 | 3.07575 | | | | | |
423422 | ETH: 0xfc2077CA7F403cBECA41B1B0F62D91B5EA631B5E | | Wrapped Ether | WETH | | | 0.145626 | 3.07575 | | | | | |
423+ | ETH: 0xfc2077CA7F403cBECA41B1B0F62D91B5EA631B5E | | USD Coin | USDC | | | 218.44 | 4,613.62 | | | | | |
424424 | XRP: rUPzi4ZwoYxi7peKCqUkzqEuSrzSRyLguV | | Ripple | XRP | | | 582.5 | 12,303 | | | | | |
425425
426426 Account | Taxes | Subtotal | Coin | Currency
427427-------------------------------------------------+--------------+--------------+------+---------------
428428 BTC: bc1qk0a9hr7wjfxeenz9nwenw9flhq0tmsf6vsgnn2 | 0.00970839 | 0.20505 | BTC | Bitcoin
429- ETH: 0xfc2077CA7F403cBECA41B1B0F62D91B5EA631B5E | 0.145626 | 3.07575 | ETH | Ethereum
430- ETH: 0xfc2077CA7F403cBECA41B1B0F62D91B5EA631B5E | 218.44 | 4,613.62 | USDC | USD Coin
431429 ETH: 0xfc2077CA7F403cBECA41B1B0F62D91B5EA631B5E | 0.00970839 | 0.20505 | WBTC | Wrapped BTC
430+ ETH: 0xfc2077CA7F403cBECA41B1B0F62D91B5EA631B5E | 0.145626 | 3.07575 | ETH | Ethereum
432431 ETH: 0xfc2077CA7F403cBECA41B1B0F62D91B5EA631B5E | 0.145626 | 3.07575 | WETH | Wrapped Ether
432+ ETH: 0xfc2077CA7F403cBECA41B1B0F62D91B5EA631B5E | 218.44 | 4,613.62 | USDC | USD Coin
433433 XRP: rUPzi4ZwoYxi7peKCqUkzqEuSrzSRyLguV | 582.5 | 12,303 | XRP | Ripple
434434
435435 Account | Taxes | Total | Coin | Currency
436436-------------------------------------------------+--------------+--------------+------+---------------
437437 BTC: bc1qk0a9hr7wjfxeenz9nwenw9flhq0tmsf6vsgnn2 | 0.00970839 | 0.20505 | BTC | Bitcoin
438- ETH: 0xfc2077CA7F403cBECA41B1B0F62D91B5EA631B5E | 0.145626 | 3.07575 | ETH | Ethereum
439- ETH: 0xfc2077CA7F403cBECA41B1B0F62D91B5EA631B5E | 218.44 | 4,613.62 | USDC | USD Coin
440438 ETH: 0xfc2077CA7F403cBECA41B1B0F62D91B5EA631B5E | 0.00970839 | 0.20505 | WBTC | Wrapped BTC
439+ ETH: 0xfc2077CA7F403cBECA41B1B0F62D91B5EA631B5E | 0.145626 | 3.07575 | ETH | Ethereum
441440 ETH: 0xfc2077CA7F403cBECA41B1B0F62D91B5EA631B5E | 0.145626 | 3.07575 | WETH | Wrapped Ether
442- XRP: rUPzi4ZwoYxi7peKCqUkzqEuSrzSRyLguV | 582.5 | 12,303 | XRP | Ripple""" # noqa: E501
441+ ETH: 0xfc2077CA7F403cBECA41B1B0F62D91B5EA631B5E | 218.44 | 4,613.62 | USDC | USD Coin
442+ XRP: rUPzi4ZwoYxi7peKCqUkzqEuSrzSRyLguV | 582.5 | 12,303 | XRP | Ripple""" # noqa: E501
443443
444444 # Output some invoices
445445 this = Path ( __file__ ).resolve ()
@@ -512,12 +512,18 @@ def test_tabulate( tmp_path ):
512512 "DAI" ,
513513 None ,
514514 "USDC" ,
515- "USDT" ,
516515 "US Dollar" ,
516+ "USD Coin" ,
517+ "US Dollar" ,
518+ "USDT" ,
519+ "Pax Dollar" ,
520+ "Ripple" ,
517521 "XRP" ,
522+ "HoloToken" ,
518523 "HOT" ,
519524 "Shiba Inu" ,
520- "ZEENUS" , # Worthless; will cause Invoice to fail if chosen as one of payment 'currencies'
525+ "WEENUS" , # Worthless; will cause Invoice to fail if chosen as one of payment 'currencies'
526+ "ZEENUS" ,
521527]
522528
523529
0 commit comments