public function testProvidesInputSpecificationThatIncludesValidator() { $element = new RangeElement(); $element->setAttributes(array('inclusive' => true, 'min' => 2, 'max' => 102, 'step' => 2)); $inputSpec = $element->getInputSpecification(); $this->assertArrayHasKey('validators', $inputSpec); $this->assertInternalType('array', $inputSpec['validators']); $expectedClasses = array('Zend\\I18n\\Validator\\Float', 'Zend\\Validator\\GreaterThan', 'Zend\\Validator\\LessThan', 'Zend\\Validator\\Step'); foreach ($inputSpec['validators'] as $validator) { $class = get_class($validator); $this->assertTrue(in_array($class, $expectedClasses), $class); switch ($class) { case 'Zend\\Validator\\GreaterThan': $this->assertTrue($validator->getInclusive()); $this->assertEquals(2, $validator->getMin()); break; case 'Zend\\Validator\\LessThan': $this->assertTrue($validator->getInclusive()); $this->assertEquals(102, $validator->getMax()); break; case 'Zend\\Validator\\Step': $this->assertEquals(2, $validator->getStep()); break; default: break; } } }