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); }