def test_create_verb_does_not_raise_error_when_past_tense_not_the_same( self): first = Verb(value='hang', irregular_past='hung') second = Verb(value='hang', irregular_past='hanged') self.session.add(first) self.session.add(second) self.assertIsNone(self.session.commit())
def test_create_verb_raises_error_over_non_unique_values_when_irregular_past_is_empty_str( self): first = Verb(value='go', irregular_past='') second = Verb(value='go', irregular_past='') self.session.add(first) self.session.add(second) self.assertRaises(IntegrityError, self.session.commit)
def setUp(self): # TODO delete all but user super(TestWordList, self).setUp() self.with_ = Word(value='with', tag=Tag.PREPOSITION) self.away = Word(value='away', tag=Tag.PARTICLE) self.go = Verb(value='go', irregular_past='went') self.play = Verb(value='play') self.water = UncountableNoun(value='water') self.air = UncountableNoun(value='air') self.dog = CountableNoun(value='dog') self.child = CountableNoun(value='child', irregular_plural='children') self.joe = StaticNoun(value='Joe', is_plural=False) self.herbs = StaticNoun(value='Herbs', is_plural=True) self.words = [self.with_, self.away] self.verbs = [self.go, self.play] self.countable_nouns = [self.dog, self.child] self.uncountable_nouns = [self.water, self.air] self.static_nouns = [self.joe, self.herbs] self.test_teacher = Teacher(password='******', email='email') self.session.add(self.test_teacher) self.session.commit() self.session.add_all( chain(self.words, self.verbs, self.countable_nouns, self.uncountable_nouns, self.static_nouns)) self.session.commit()
def test_get_json(self): value = 'x' irregular_past = 'y' verb = Verb(value=value, irregular_past=irregular_past) self.session.add(verb) self.session.commit() expected = { 'value': value, 'irregular_past': irregular_past, 'id': verb.id } self.assertEqual(expected, verb.get_json())
def test_create_verb_irregular_past_commit(self): verb = Verb(value='go', irregular_past='went') self.session.add(verb) self.session.commit() answer = self.session.query(Verb).first() self.assertEqual(answer, verb) self.assertIsInstance(verb.id, int)
def test_create_verb_no_irregular_past_commit(self): verb = Verb(value='play') self.session.add(verb) self.session.commit() answer = self.session.query(Verb).first() self.assertEqual(verb, answer) self.assertIsInstance(verb.id, int) self.assertEqual(verb.irregular_past, '')
def test_create_verb_no_irregular_past(self): verb = Verb(value='play', irregular_past='') self.assertEqual(verb.value, 'play') self.assertEqual(verb.irregular_past, '')
def test_create_verb_irregular_past(self): verb = Verb(value='go', irregular_past='went') self.assertEqual(verb.value, 'go') self.assertEqual(verb.irregular_past, 'went')
def test_create_verb_irregular_past_defaults_to_empty_str(self): verb = Verb(value='play') self.assertEqual(verb.irregular_past, '')
""" DataBaseSession = sessionmaker() @contextmanager def data_base_session_scope(): session = DataBaseSession() try: yield session finally: session.close() app_engine = create_engine( 'postgresql+psycopg2://postgres:[email protected]/paragraph_generator') DataBaseSession.configure(bind=app_engine) Base.metadata.create_all(app_engine) with data_base_session_scope() as a_session: print(a_session) go = Verb(value='go', irregular_past='went') play = Verb(value='play') stupid_go = Verb(value='go') a_session.add(go) a_session.commit() with data_base_session_scope() as a_session: print(a_session.query(Verb).all())
def create_verb(self, value: str, irregular_past: str = '') -> dict: verb = Verb(value=value, irregular_past=irregular_past) return self._commit_and_get_json(verb)