예제 #1
0
 public function testClearMessageWithDefaultValue()
 {
     $phone = new PhoneNumber();
     $this->assertNull($phone->getNumber());
     $this->assertSame(PhoneType::HOME(), $phone->getType());
     $phone->setNumber('1231231212');
     $phone->setType(PhoneType::MOBILE());
     $this->assertEquals('1231231212', $phone->getNumber());
     $this->assertSame(PhoneType::MOBILE(), $phone->getType());
     $phone->clear();
     $this->assertNull($phone->getNumber());
     $this->assertSame(PhoneType::HOME(), $phone->getType());
 }
 public function testComplexMessageFromArray()
 {
     $phone1 = PhoneNumber::fromArray(['number' => '1231231212', 'type' => PhoneType::HOME()]);
     $phone2 = PhoneNumber::fromArray(['number' => '55512321312', 'type' => PhoneType::MOBILE()]);
     $phone3 = PhoneNumber::fromArray(['number' => '3493123123', 'type' => PhoneType::WORK()]);
     $person1 = Person::fromArray(['id' => 2051, 'name' => 'John Doe', 'email' => '*****@*****.**', 'phone' => [$phone1, $phone2]]);
     $person2 = Person::fromArray(['id' => 23, 'name' => 'Iván Montes', 'email' => '*****@*****.**', 'phone' => [$phone3]]);
     $book = AddressBook::fromArray(['person' => [$person1, $person2]]);
     $this->assertInstanceOf(AddressBook::CLASS, $book);
     $this->assertCount(2, $book->getPersonList());
     $p1 = $book->getPersonList()[0];
     $p2 = $book->getPersonList()[1];
     $this->assertSame($person1, $p1);
     $this->assertSame($person2, $p2);
     $this->assertEquals($p1->getId(), 2051);
     $this->assertEquals($p1->getName(), 'John Doe');
     $this->assertEquals($p2->getId(), 23);
     $this->assertEquals($p2->getName(), 'Iván Montes');
     $this->assertCount(2, $p1->getPhoneList());
     $this->assertCount(1, $p2->getPhoneList());
     $this->assertEquals($p1->getPhoneList()[0]->getNumber(), '1231231212');
     $this->assertEquals($p1->getPhoneList()[0]->getType(), PhoneType::HOME());
     $this->assertEquals($p1->getPhoneList()[1]->getNumber(), '55512321312');
     $this->assertEquals($p1->getPhoneList()[1]->getType(), PhoneType::MOBILE());
     $this->assertEquals($p2->getPhoneList()[0]->getNumber(), '3493123123');
     $this->assertEquals($p2->getPhoneList()[0]->getType(), PhoneType::WORK());
 }