"""unit tests for cubicweb.devtools.fill module:organization: Logilab:copyright: 2001-2009 LOGILAB S.A. (Paris, FRANCE), license is LGPL v2.:contact: http://www.logilab.fr/ -- mailto:contact@logilab.fr:license: GNU Lesser General Public License, v2.1 - http://www.gnu.org/licenses"""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()