def test_set_new_undercut(self): db_argument = DBDiscussionSession.query(Argument).get(1) before = DBDiscussionSession.query(Argument).filter_by( argument_uid=1).all() set_new_undercut(1, db_argument, self.db_user, self.db_issue) after = DBDiscussionSession.query(Argument).filter_by( argument_uid=1).all() self.assertLess(len(before), len(after))
def test_set_new_undercut(self): db_argument = DBDiscussionSession.query(Argument).get(1) before = DBDiscussionSession.query(Argument).filter_by( argument_uid=1).all() set_new_undercut(1, db_argument, self.user_christian, self.issue_cat_or_dog) after = DBDiscussionSession.query(Argument).filter_by( argument_uid=1).all() self.assertLess(len(before), len(after))
def insert_new_premises_for_argument(premisegroup: List[str], current_attack, arg_uid, db_issue: Issue, db_user: User): """ Creates premises for a given argument :param premisegroup: List of strings :param current_attack: String :param arg_uid: Argument.uid :param db_issue: Issue :param db_user: User :return: Argument """ LOG.debug("Entering insert_new_premises_for_argument with arg_uid: %s", arg_uid) statements = [] for premise in premisegroup: statement = insert_as_statement(premise, db_user, db_issue) statements.append(statement) # set the new statements as premise group and get current user as well as current argument new_pgroup = set_statements_as_new_premisegroup(statements, db_user, db_issue) current_argument = DBDiscussionSession.query(Argument).get(arg_uid) new_argument = None if current_attack == Relations.UNDERMINE: new_argument = set_new_undermine_or_support_for_pgroup( new_pgroup.uid, current_argument, False, db_user, db_issue) elif current_attack == Relations.SUPPORT: new_argument, duplicate = set_new_support(new_pgroup.uid, current_argument, db_user, db_issue) elif current_attack == Relations.UNDERCUT: new_argument, duplicate = set_new_undercut(new_pgroup.uid, current_argument, db_user, db_issue) elif current_attack == Relations.REBUT: new_argument, duplicate = set_new_rebut(new_pgroup.uid, current_argument, db_user, db_issue) if not new_argument: LOG.debug("No statement or any premise = conclusion") return Translator(db_issue.lang).get(_.premiseAndConclusionAreEqual) LOG.debug("Returning argument %s", new_argument.uid) return new_argument