def test_karma_positive_neutral(): assert create_transactions('Bar', 'Bar', [ RawKarma(name='Baz', op='++', reason=None), RawKarma(name='Baz', op='+-', reason=None) ]) == [ KarmaTransaction(name='Baz', self_karma=False, net_karma=1, reasons=[]) ]
def test_self_karma_multiple(): assert create_transactions('Baz', 'Baz', [ RawKarma(name='Baz', op='++', reason=None), RawKarma(name='Baz', op='++', reason=None) ]) == [ KarmaTransaction(name='Baz', self_karma=True, net_karma=1, reasons=[]) ]
def test_complex_multiple_karma_with_reasons_and_quotes(database): assert parse_message( 'Foobar++ because baz blat, "Hello world"-- for "foo, bar"', database ) == [ RawKarma(name="Foobar", op="++", reason="baz blat"), RawKarma(name="Hello world", op="--", reason="foo, bar"), ]
def test_simple_multiple_karma_with_reasons_and_quotes(database): assert parse_message('Foobar++ because baz blat, "Hello world"--', database) == [ RawKarma(name='Foobar', op='++', reason='baz blat'), RawKarma(name='Hello world', op='--', reason=None) ]
def test_complex_multiple_karma_no_reasons_quotes_no_comma_separation(database): assert parse_message( '"easy lover"++ "phil collins"++ "philip bailey"++', database ) == [ RawKarma(name="easy lover", op="++", reason=None), RawKarma(name="phil collins", op="++", reason=None), RawKarma(name="philip bailey", op="++", reason=None), ]
def test_karma_positive_negative_reasons(): assert create_transactions('Bar', 'Bar', [ RawKarma(name='Baz', op='++', reason='Foobar baz 1'), RawKarma(name='Baz', op='--', reason='Foobar baz 2') ]) == [ KarmaTransaction(name='Baz', self_karma=False, net_karma=0, reasons=['Foobar baz 1', 'Foobar baz 2']) ]
def test_self_karma_multiple_reason(): assert create_transactions('Bar', 'Bar', [ RawKarma(name='Bar', op='++', reason='Is awesome'), RawKarma(name='Bar', op='++', reason='Is awesome') ]) == [ KarmaTransaction(name='Bar', self_karma=True, net_karma=1, reasons=['Is awesome', 'Is awesome']) ]
def test_karma_double_negative(): assert create_transactions('Bar', 'Bar', [ RawKarma(name='Baz', op='--', reason=None), RawKarma(name='Baz', op='--', reason=None) ]) == [ KarmaTransaction(name='Baz', self_karma=False, net_karma=-1, reasons=[]) ]
def test_karma_double_positive(): assert create_transactions( "Bar", "Bar", [ RawKarma(name="Baz", op="++", reason=None), RawKarma(name="Baz", op="++", reason=None), ], ) == [ KarmaTransaction(name="Baz", self_karma=False, net_karma=1, reasons=[]) ]
def test_karma_negative_neutral(): assert create_transactions( "Bar", "Bar", [ RawKarma(name="Baz", op="++", reason=None), RawKarma(name="Baz", op="+-", reason=None), ], ) == [ KarmaTransaction(name="Baz", self_karma=False, net_karma=1, reasons=[]) ]
def test_self_karma_multiple(): assert create_transactions( "Baz", "Baz", [ RawKarma(name="Baz", op="++", reason=None), RawKarma(name="Baz", op="++", reason=None), ], ) == [ KarmaTransaction(name="Baz", self_karma=True, net_karma=1, reasons=[]) ]
def test_self_karma_single_with_others(): assert create_transactions('Baz', 'Baz', [ RawKarma(name='Baz', op='++', reason=None), RawKarma(name='Foobar', op='++', reason=None) ]) == [ KarmaTransaction(name='Baz', self_karma=True, net_karma=1, reasons=[]), KarmaTransaction(name='Foobar', self_karma=False, net_karma=1, reasons=[]) ]
def test_self_karma_single_with_others_and_reasons(): assert create_transactions('Bar', 'Bar', [ RawKarma(name='Bar', op='++', reason='Is awesome'), RawKarma(name='Foo', op='++', reason='Is awesome too') ]) == [ KarmaTransaction(name='Bar', self_karma=True, net_karma=1, reasons=['Is awesome']), KarmaTransaction(name='Foo', self_karma=False, net_karma=1, reasons=['Is awesome too']) ]
def test_self_karma_single_with_others(): assert create_transactions( "Baz", "Baz", [ RawKarma(name="Baz", op="++", reason=None), RawKarma(name="Foobar", op="++", reason=None), ], ) == [ KarmaTransaction(name="Baz", self_karma=True, net_karma=1, reasons=[]), KarmaTransaction(name="Foobar", self_karma=False, net_karma=1, reasons=[]), ]
def test_karma_positive_negative_reasons(): assert create_transactions( "Bar", "Bar", [ RawKarma(name="Baz", op="++", reason="Foobar baz 1"), RawKarma(name="Baz", op="--", reason="Foobar baz 2"), ], ) == [ KarmaTransaction( name="Baz", self_karma=False, net_karma=0, reasons=["Foobar baz 1", "Foobar baz 2"], ) ]
def test_karma_double_neutral_reasons_and_commas(): assert create_transactions( "Bar", "Bar", [ RawKarma(name="Baz", op="+-", reason="Foobar, baz 1"), RawKarma(name="Baz", op="-+", reason="Foobar, baz 2"), ], ) == [ KarmaTransaction( name="Baz", self_karma=False, net_karma=0, reasons=["Foobar, baz 1", "Foobar, baz 2"], ) ]
def test_self_karma_multiple_reason(): assert create_transactions( "Bar", "Bar", [ RawKarma(name="Bar", op="++", reason="Is awesome"), RawKarma(name="Bar", op="++", reason="Is awesome"), ], ) == [ KarmaTransaction( name="Bar", self_karma=True, net_karma=1, reasons=["Is awesome", "Is awesome"], ) ]
def test_simple_positive(): assert create_transactions( 'Baz', 'Baz', [RawKarma(name='Foobar', op='++', reason=None)]) == [ KarmaTransaction(name='Foobar', self_karma=False, net_karma=1, reasons=[]) ]
def test_simple_neutral(): assert create_transactions( "Baz", "Baz", [RawKarma(name="Foobar", op="+-", reason=None)]) == [ KarmaTransaction(name="Foobar", self_karma=False, net_karma=0, reasons=[]) ]
def test_self_karma_single_reason_with_comma(): assert create_transactions( "Bar", "Bar", [RawKarma(name="Bar", op="++", reason="Is, awesome")]) == [ KarmaTransaction(name="Bar", self_karma=True, net_karma=1, reasons=["Is, awesome"]) ]
def test_simple_negative_reason(): assert create_transactions( "Bar", "Bar", [RawKarma(name="Baz", op="--", reason="Foobar is baz")]) == [ KarmaTransaction(name="Baz", self_karma=False, net_karma=-1, reasons=["Foobar is baz"]) ]
def test_self_karma_single_with_others_and_reasons(): assert create_transactions( "Bar", "Bar", [ RawKarma(name="Bar", op="++", reason="Is awesome"), RawKarma(name="Foo", op="++", reason="Is awesome too"), ], ) == [ KarmaTransaction(name="Bar", self_karma=True, net_karma=1, reasons=["Is awesome"]), KarmaTransaction(name="Foo", self_karma=False, net_karma=1, reasons=["Is awesome too"]), ]
def test_simple_neutral_reason(): assert create_transactions( 'Bar', 'Bar', [RawKarma(name='Baz', op='+-', reason='Foobar is baz')]) == [ KarmaTransaction(name='Baz', self_karma=False, net_karma=0, reasons=['Foobar is baz']) ]
def test_multiple_not_in_blacklist(database): assert parse_message("foo++ bar++", database) == [ RawKarma(name="foo", op="++", reason=None), RawKarma(name="bar", op="++", reason=None), ]
def test_blacklist_multiple_allowed(database): assert parse_message('"c"++ "notepad"++', database) == [ RawKarma(name="c", op="++", reason=None), RawKarma(name="notepad", op="++", reason=None), ]
def test_blacklist_single_allowed_mixed(database): assert parse_message('"NoTepAD"++', database) == [ RawKarma(name="NoTepAD", op="++", reason=None) ]
def test_blacklist_single_allowed_upper(database): assert parse_message('"C"++', database) == [ RawKarma(name="C", op="++", reason=None) ]
def test_single_not_in_blacklist(database): assert parse_message("foo++", database) == [ RawKarma(name="foo", op="++", reason=None) ]
def test_blacklist_mixed_quoted_allowed(database): assert parse_message('"c++" "notepad"++', database) == [ RawKarma(name="notepad", op="++", reason=None) ]
def test_quoted_sentence_neutral_pm(database): assert parse_message('"Foobar Baz"+-', database) == [ RawKarma(name="Foobar Baz", op="+-", reason=None) ]