/**
  * @param InputInterface $input
  * @param OutputInterface $output
  *
  * @return int|null|void
  */
 protected function execute(InputInterface $input, OutputInterface $output)
 {
     $count = $input->getArgument('count');
     $output->writeln(sprintf('<info>Generating %d members</info>', $count));
     for ($i = 1; $i <= $count; $i++) {
         $member = new Member($this->faker->userName, $this->faker->word, new Address('Canada', 'Ontario', $this->faker->gtaCity, $this->faker->postCode), new \DateTime($this->faker->dateTimeBetween('-65 years', 'now - 18 years')->format('Y-m-d')), $this->faker->limits, new Height($this->faker->height), new Weight($this->faker->weight), $this->faker->bodyType, $this->faker->ethnicity, new Email($this->faker->freeEmail));
         $this->members->add($member);
         $output->writeln(sprintf('%s', $member->getUsername()));
     }
     $output->writeln('<info>...done</info>');
 }
 /**
  * @test
  */
 public function it_should_add_a_new_member()
 {
     $username = '******';
     $password = '******';
     $address = new Address('country', 'province', 'city', 'postal');
     $dateOfBirth = new \DateTime('1934-05-20');
     $limits = 'limits';
     $height = new Height('5\' 6"');
     $weight = new Weight('180 lbs');
     $bodyType = 'body type';
     $ethnicity = 'ethnicity';
     $email = new Email('*****@*****.**');
     $member = new Member($username, $password, $address, $dateOfBirth, $limits, $height, $weight, $bodyType, $ethnicity, $email);
     $this->assertSame(1, $this->SUT->add($member));
     $this->assertTableRowCount(Members::TABLE_NAME, self::FIXTURES_COUNT + 1);
     $this->assertEquals($member, $this->SUT->findByUsername($username));
 }