"""unit tests for cubicweb.devtools.fill module"""fromlogilab.common.testlibimportTestCase,unittest_mainfromcubicweb.schemaimportSchema,EntitySchemaimportrefromcubicweb.devtools.fillimportValueGenerator,_ValueGeneratorISODATE_SRE=re.compile('(?P<year>\d{4})-(?P<month>\d{2})-(?P<day>\d{2})$')classAutoExtendableTC(TestCase):defsetUp(self):self.attrvalues=dir(_ValueGenerator)deftearDown(self):attrvalues=set(dir(_ValueGenerator))forattrnameinattrvalues-set(self.attrvalues):delattr(_ValueGenerator,attrname)deftest_autoextend(self):self.failIf('generate_server'indir(ValueGenerator))classMyValueGenerator(ValueGenerator):defgenerate_server(self,index):returnattrnameself.failUnless('generate_server'indir(ValueGenerator))deftest_bad_signature_detection(self):self.failIf('generate_server'indir(ValueGenerator))try:classMyValueGenerator(ValueGenerator):defgenerate_server(self):passexceptTypeError:self.failIf('generate_server'indir(ValueGenerator))else:self.fail('TypeError not raised')deftest_signature_extension(self):self.failIf('generate_server'indir(ValueGenerator))classMyValueGenerator(ValueGenerator):defgenerate_server(self,index,foo):passself.failUnless('generate_server'indir(ValueGenerator))if__name__=='__main__':unittest_main()