def test_can_seek_to_top(self): s = FromListFileField("test",TMP_TEST_LIST, {"method":"sequential"}) line = s.getOneLine() self.assertEqual("line0", line) line = s.getOneLine() self.assertEqual("line1", line) line = s.getOneLine() self.assertEqual("line0", line)
def test_get_line_ratio_20_80(self): list_file = open(TMP_TEST_LIST2,"w") for i in [0,0,1,1,1,1,1,1,1,1]: list_file.write(str(i)+"\n") list_file.close() s = FromListFileField("test", TMP_TEST_LIST2, {"method":"ratio", "ratio":"20,80"}) match_count = 0 for i in range(10): line = s.getOneLine() if line == '0': match_count += 1 self.assertEqual(2, match_count)
def test_get_line_random(self): s = FromListFileField("test",TMP_TEST_LIST, {"method":"random"}) first_match_count = 0 for i in range(100): line = s.getOneLine() if line == 'line0': first_match_count += 1 second_match_count = 0 for i in range(100): line = s.getOneLine() if line == 'line0': second_match_count += 1 self.assertFalse(first_match_count == second_match_count) self.assertGreater(first_match_count,0)
def __initFields(self): for field_spec in self.__spec['fields']: for field_name in field_spec: field_config = field_spec[field_name] if field_name == 'templateCount': continue elif field_config['type'] == 'random': self.__fields.append(RandomField(field_name, field_config['generate_type'], field_config)) elif field_config['type'] == 'from_list_file': self.__fields.append( FromListFileField(field_name, self.__data_dir + '/../../lib/scenarios/fields/lists/' + field_config['file'], field_config))