public function testValidationFailsWithBadAffiliationCodes() { $this->transaction->setAffiliationCode(12345); $this->assertSame(12345, $this->transaction->getAffiliationCode()); $violations = Validator::validateMoneyTransferTransaction($this->transaction); $this->assertTrue(count($violations) === 0); //10 digits is ok. $this->transaction->setAffiliationCode(1234567890); $this->assertSame(1234567890, $this->transaction->getAffiliationCode()); $violations = Validator::validateMoneyTransferTransaction($this->transaction); $this->assertTrue(count($violations) === 0); //11 digits is too many. $this->transaction->setAffiliationCode(12345678900); $this->assertSame(12345678900, $this->transaction->getAffiliationCode()); $violations = Validator::validateMoneyTransferTransaction($this->transaction); $this->assertTrue(count($violations) === 1); $this->assertTrue(count($violations->get('affiliationCode')) === 1); }