public function testCreate() { $demoMap = ['BidRequest.Imp[].Native.Request:@required' => 'native', 'BidRequest.Imp[].Id' => 'id']; $map = MapFactory::create($demoMap); $this->assertEquals(['BidRequest.Imp[].Native.Request', 'BidRequest.Imp[].Id'], $map->getObjectPaths()); $this->assertEquals(2, $map->count()); $this->assertTrue($map->get('BidRequest.Imp[].Native.Request')->isRequired()); $this->assertFalse($map->get('BidRequest.Imp[].Native.Request')->isUuid()); $this->assertEquals('native', $map->get('BidRequest.Imp[].Native.Request')->getValue()); foreach ($map as $item) { $this->assertInstanceOf('PowerLinks\\OpenRtb\\Mapper\\MapItem', $item); } }
public function testMapFromObject() { $demoMap = ['Native.Request' => 'Id', 'Id' => 'Imp[].Id']; $map = MapFactory::create($demoMap); $imp = new Imp(); $imp->setId('impId'); $bidRequest = new BidRequest(); $bidRequest->setId('bidRequestId')->addImp($imp); $mapper = new Mapper(); $arrayMapped = $mapper->mapFromObject($map, $bidRequest); $this->assertTrue(is_array($arrayMapped)); $this->assertEquals('bidRequestId', $arrayMapped['native']['request']); $this->assertEquals('impId', $arrayMapped['id']); }