def testNew(self): mc = ModelCollection() with self.assertRaises(TypeError): mc.new() mc._model = MockModel self.assertIsInstance(mc.new(), MockModel)
def new(self, **kwargs): if not 'name' in kwargs: loops = 0 name = None while name is None: name = self._wordlist[self._word_p] if ModelCollection.first(self, name=name): name = None self._word_p += 1 if self._word_p >= len(self._wordlist): self._word_p = 0 loops += 1 if loops > 2: name = 'unnamed-%s' % len(self._items) break kwargs['name'] = name return ModelCollection.new(self, **kwargs)