from random import randint

from .base import FieldGenerator

# Pulled from https://www.usna.edu/Users/cs/roche/courses/s15si335/proj1/files.php%3Ff=names.txt.html
names = ("Michael",
         "Christopher",
         "Jessica",
         "Matthew",
         "Ashley",
         "Jennifer",
         "Joshua",
         "Amanda",
         "Daniel",
         "David",
         "James",
         "Robert",
         "John",
         "Joseph",
         "Andrew",
         "Ryan",
         "Brandon",
         "Jason",
         "Justin",
         "Sarah",
         "William",
         "Jonathan",
         "Stephanie",
         "Brian",
         "Nicole",
         "Nicholas",
         "Anthony",
         "Heather",
         "Eric",
         "Elizabeth",
         "Adam",
         "Megan",
         "Melissa",
         "Kevin",
         "Steven",
         "Thomas",
         "Timothy",
         "Christina",
         "Kyle",
         "Rachel",
         "Laura",
         "Lauren",
         "Amber",
         "Brittany",
         "Danielle",
         "Richard",
         "Kimberly",
         "Jeffrey",
         "Amy",
         "Crystal",
         "Michelle",
         "Tiffany",
         "Jeremy",
         "Benjamin",
         "Mark",
         "Emily",
         "Aaron",
         "Charles",
         "Rebecca",
         "Jacob",
         "Stephen",
         "Patrick",
         "Sean",
         "Erin",
         "Zachary",
         "Jamie",
         "Kelly",
         "Samantha",
         "Nathan",
         "Sara",
         "Dustin",
         "Paul",
         "Angela",
         "Tyler",
         "Scott",
         "Katherine",
         "Andrea",
         "Gregory",
         "Erica",
         "Mary",
         "Travis",
         "Lisa",
         "Kenneth",
         "Bryan",
         "Lindsey",
         "Kristen",
         "Jose",
         "Alexander",
         "Jesse",
         "Katie",
         "Lindsay",
         "Shannon",
         "Vanessa",
         "Courtney",
         "Christine",
         "Alicia",
         "Cody",
         "Allison",
         "Bradley",
         "Samuel")

count = len(names) - 1


class NameFieldGenerator(FieldGenerator):
    def generate(self, **_):
        return names[randint(0, count)]
