-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathtest_btc_validator.py
51 lines (44 loc) · 1.22 KB
/
test_btc_validator.py
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
import pytest
from btc_validator import is_valid_btc_address
@pytest.mark.parametrize(
'btc_address',
[
'17VZNX1SN5NtKa8UQFxwQbFeFc3iqRYhem',
'3EktnHQD7RiAE6uzMj2ZifT9YgRrkSgzQX',
'bc1qw508d6qejxtdg4y5r3zarvary0c5xw7kv8f3t4',
'bc1qrp33g0q5c5txsp9arysrx4k6zdkfs4nce4xj0gdcccefvpysxf3qccfmv3',
]
)
def test_main_net_addresses(btc_address):
assert is_valid_btc_address(btc_address)
@pytest.mark.parametrize(
'btc_address',
[
'tb1qw508d6qejxtdg4y5r3zarvary0c5xw7kxpjzsx',
'tb1qrp33g0q5c5txsp9arysrx4k6zdkfs4nce4xj0gdcccefvpysxf3q0sl5k7',
]
)
def test_testnet_address(btc_address):
assert is_valid_btc_address(
btc_address,
testnet=True,
)
@pytest.mark.parametrize(
'invalid_address',
[
'',
'tb1qw508d6qejxtdg4y5r3zarvary0c5xw7kxpjz',
'tb1508d6qejxtdg4y5r3zarvary0c5xw7kxpjzsx',
'bc1qrp33g0q5c5txsp9arysrx4k6zdk5s4nce4xj0gdcccefvpysxf3qccfmv3',
'1A1z[1eP5QGefi2DMPTfTL5SLmv7DivfNa',
]
)
@pytest.mark.parametrize(
'testnet',
[True, False]
)
def test_invalid_address(invalid_address, testnet):
assert not is_valid_btc_address(
invalid_address,
testnet=testnet,
)