1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54
| from Adversary.adversary import Adversary from Adversary.attacks import * from Adversary.utils import *
def test_generate_single_iter(): m = Adversary(verbose=True) og_texts = [u'happy happy happy happy dog dog dog dog dog', u'okay okay yeah here', 'tell me awful things'] g = m.generate(og_texts) assert(len(g) == 3)
def test_generate_many_iter(): m = Adversary(verbose=True) og_texts = [u'happy happy happy happy dog dog dog dog dog', u'okay okay yeah here', 'tell me awful things'] g = m.generate(og_texts, text_sample_rate=5) assert(len(g) == 15)
def test_large(): m = Adversary(verbose=True) og_texts = ['tell me awful things'] * 1000 g = m.generate(og_texts, text_sample_rate=5) assert (len(g) == 5000)
def test_attack(): m = Adversary(verbose=True) og_texts = [u'happy happy happy happy dog dog dog dog dog', u'okay okay yeah here', 'tell me awful things'] g = m.generate(og_texts) df_s, df_m = m.attack(og_texts, g, lambda x: 1 if x in og_texts else 0) assert(df_s is not None and df_m is not None)
def test_attack_large(): m = Adversary(verbose=True) og_texts = ['tell me awful things'] * 1000 g = m.generate(og_texts) df_s, df_m = m.attack(og_texts, g, lambda x: 1 if x in og_texts else 0) assert (df_s is not None and df_m is not None)
def test_num_to_word(): assert(num_to_word('1') == 'one') assert(num_to_word('dog') == 'dog') def test_flatten_unique(): l = [[1, 2], [1, 3, 4], [5]] assert(flatten_unique(l) == [1, 2, 3, 4, 5])
def test_combinations_of_len(): l = [1, 2, 3] assert(combinations_of_len(l, 2) == [(1,), (2,), (3,), (1, 2), (1, 3), (2, 3)])
def test_fancy_titles(): cols = ['change_case', 'insert_duplicate_characters', 'synonym'] assert(fancy_titles(cols) == ['Change Case', 'Insert Duplicate Characters', 'Synonym'])
|