(num_names, chars_in_first_name=1)
| 709 | |
| 710 | |
| 711 | def completion_target(num_names, chars_in_first_name=1): |
| 712 | class Class: |
| 713 | pass |
| 714 | |
| 715 | if chars_in_first_name < 1: |
| 716 | raise ValueError("need at least one char in each name") |
| 717 | elif chars_in_first_name == 1 and num_names > len(string.ascii_letters): |
| 718 | raise ValueError("need more chars to make so many names") |
| 719 | |
| 720 | names = gen_names() |
| 721 | if num_names > 0: |
| 722 | setattr(Class, "a" * chars_in_first_name, 1) |
| 723 | next(names) # use the above instead of first name |
| 724 | for _, name in zip(range(num_names - 1), names): |
| 725 | setattr(Class, name, 0) |
| 726 | |
| 727 | return Class() |
| 728 | |
| 729 | |
| 730 | def gen_names(): |
no test coverage detected