>>131
本当はtest()にずらずら書くけど、それは長くなるから


import unittest
from collections import defaultdict
from anntools.validation import *

@validate(k1=Str, k2=Str, v=Str)
def foo(k1, k2, v):
    hash = defaultdict(lambda: defaultdict(list))
    hash[k1][k2].append(v)

class TestFoo(unittest.TestCase):
    def test(self):
        foo('a', 'b', '111')
        self.assertRaises(ValidationError, foo, 'a', 'b', 111)
        self.assertRaises(ValidationError, foo, 0, 'b', '111')
        self.assertRaises(ValidationError, foo, 'a', 0, '111')

if __name__ == '__main__':
    unittest.main()