public function setUp()
 {
     $toggleCollection = new InMemoryCollection();
     $toggleCollection->set('foo', $this->createToggle('foo', true));
     $toggleCollection->set('bar', $this->createToggle('foo', false));
     $this->contextFactory = new StubContextFactory();
     $this->toggleManager = new ToggleManager($toggleCollection);
 }
 /**
  * @param array $data
  * @return InMemoryCollection
  */
 public function deserialize(array $data)
 {
     $collection = new InMemoryCollection();
     $serializer = new ToggleSerializer(new OperatorConditionSerializer(new OperatorSerializer()));
     foreach ($data as $name => $serializedToggle) {
         $toggle = $serializer->deserialize($serializedToggle);
         $collection->set($name, $toggle);
     }
     return $collection;
 }
 /**
  * @test
  */
 public function it_serializes_and_deserializes_a_collection()
 {
     $collection = new InMemoryCollection();
     $operator = new LessThan(42);
     $condition = new OperatorCondition('user_id', $operator);
     $toggle = new Toggle('toggling', array($condition));
     $collection->set('some-feature', $toggle);
     $serializer = new InMemoryCollectionSerializer();
     $serialized = $serializer->serialize($collection);
     $collection2 = $serializer->deserialize($serialized);
     $this->assertEquals($collection, $collection2);
 }