MCPcopy Create free account
hub / github.com/ActiveState/code / test

Function test

recipes/Python/577191_IP_and_MAC_addresses/recipe-577191.py:790–871  ·  view source on GitHub ↗
(Class, gets)

Source from the content-addressed store, hash-verified

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

Callers 1

recipe-577191.pyFile · 0.70

Calls 6

strFunction · 0.85
dirFunction · 0.85
startswithMethod · 0.80
printfFunction · 0.70
checkFunction · 0.70
ClassClass · 0.50

Tested by

no test coverage detected