def test_validate_and_adapt_item(self):
     bce = BaseContainerExtractor(basic_extractors, template)
     data = {'price': ['10']}
     self.assertEqual(bce._validate_and_adapt_item(data, template), {})
     data['_type'] = 'skip_checks'
     self.assertEqual(bce._validate_and_adapt_item(data, template),
                      {'price': ['10'], '_type': 'skip_checks'})
     data = {
         'price': ['10'],
         'description': ['It can do everything except make calls'],
         'name': ['Smartphone 6']
     }
     result = data.copy()
     result['_type'] = 'default'
     self.assertEqual(bce._validate_and_adapt_item(data, template), result)
     bce.extra_requires = ['pid']
     self.assertEqual(bce._validate_and_adapt_item(data, template), {})
     data['pid'] = ['13532']
     result = data.copy()
     result['_type'] = 'default'
     self.assertEqual(bce._validate_and_adapt_item(data, template), result)
     bce.extra_requires = ['pid', '_sticky1']
     self.assertEqual(bce._validate_and_adapt_item(data, template), {})
     data['_sticky1'] = True
     self.assertEqual(bce._validate_and_adapt_item(data, template), result)