(Class, gets)
| 788 | sys.version.split()[0], sys.platform) |
| 789 | |
| 790 | def test(Class, gets): |
| 791 | |
| 792 | n = Class.__name__ |
| 793 | |
| 794 | global e, t |
| 795 | e = t = 0 |
| 796 | |
| 797 | def check(value, *expected): |
| 798 | global e, t |
| 799 | t += 1 |
| 800 | if value not in expected: |
| 801 | x = ', '.join([repr(x) for x in expected]) |
| 802 | printf('%s error: %r, expected %s', |
| 803 | n, value, x) |
| 804 | e += 1 |
| 805 | |
| 806 | s = gets() |
| 807 | printf('get%ss(): %r', n, s) |
| 808 | check(gets(), s) |
| 809 | |
| 810 | for a in s: |
| 811 | # check immutable |
| 812 | check(a.HEX, Class.HEX) |
| 813 | check(a.sep, Class.sep) |
| 814 | check(a.size, Class.size) |
| 815 | try: |
| 816 | a.size = 0 |
| 817 | check(a.size, TypeError.__name__) |
| 818 | except TypeError: |
| 819 | check(a.size, Class.size) |
| 820 | |
| 821 | # check constructor |
| 822 | check(Class(a), a) |
| 823 | check(Class(a.hex), a) |
| 824 | check(Class(a.int), a) |
| 825 | check(Class(str(a)), a) |
| 826 | check(Class(str(a.int)), a) |
| 827 | |
| 828 | r = repr(a) |
| 829 | printf('%s.str: %r', r, a.str) |
| 830 | printf('%s.hex: %r', r, a.hex) |
| 831 | printf('%s.int: %x (%%x)', r, a.int) |
| 832 | printf('%s.int: %d (%%d)', r, a.int) |
| 833 | |
| 834 | if Class is IP: |
| 835 | printf('%s.ton: %x (%%x)', r, a.ton) |
| 836 | printf('%s.toh: %x (%%x)', r, a.toh) |
| 837 | printf('%s.net: %r', r, a.net) |
| 838 | for m in dir(a): |
| 839 | if m.startswith('is'): |
| 840 | # check is... properties |
| 841 | p = getattr(a, m) |
| 842 | printf('%s.%-12s %r', r, m + ':', p) |
| 843 | if m.startswith('isprivate'): |
| 844 | check(p, False, True) |
| 845 | else: |
| 846 | check(p, False) |
| 847 | # check immutability |
no test coverage detected