示例#1
0
 private function addSegmentsInCache()
 {
     $segmentCache = new SegmentCache();
     //Addinng Employees Segment.
     $segmentEmployeesChanges = file_get_contents(__DIR__ . "/files/segmentEmployeesChanges.json");
     $this->assertJson($segmentEmployeesChanges);
     $segmentData = json_decode($segmentEmployeesChanges, true);
     $this->assertArrayHasKey('employee_1', $segmentCache->addToSegment($segmentData['name'], $segmentData['added']));
     //Adding Human Beigns Segment.
     $segmentHumanBeignsChanges = file_get_contents(__DIR__ . "/files/segmentHumanBeignsChanges.json");
     $this->assertJson($segmentHumanBeignsChanges);
     $segmentData = json_decode($segmentHumanBeignsChanges, true);
     $this->assertArrayHasKey('user1', $segmentCache->addToSegment($segmentData['name'], $segmentData['added']));
 }
示例#2
0
 public function addSegmentOnCache(array $segmentData)
 {
     $segmentName = $segmentData['name'];
     $segmentCache = new SegmentCache();
     if ($segmentCache->getChangeNumber($segmentName) != $segmentData['till']) {
         $segmentCache->addToSegment($segmentName, $segmentData['added']);
         $segmentCache->removeFromSegment($segmentName, $segmentData['removed']);
         $segmentCache->setChangeNumber($segmentName, $segmentData['till']);
     }
     return true;
 }
 /**
  * @depends testSplitCacheInterface
  */
 public function testSegmentCacheInterface()
 {
     $segmentChanges = file_get_contents(__DIR__ . "/../../files/segmentEmployeesChanges.json");
     $this->assertJson($segmentChanges);
     $segmentData = json_decode($segmentChanges, true);
     $segmentName = $segmentData['name'];
     $segmentCache = new SegmentCache();
     $this->assertArrayHasKey('fake_user_id_4', $segmentCache->addToSegment($segmentName, $segmentData['added']));
     $removedResult = $segmentCache->removeFromSegment($segmentName, $segmentData['removed']);
     $this->assertArrayHasKey('fake_user_id_6', $removedResult);
     $this->assertTrue($segmentCache->setChangeNumber($segmentName, $segmentData['till']));
     $this->assertEquals($segmentData['till'], $segmentCache->getChangeNumber($segmentName));
 }