public function testCanBeRepresentedOnOutput() { $generatedValue = GeneratedValue::fromValueAndInput(422, GeneratedValue::fromJustValue(211), 'map'); $this->assertInternalType('string', $generatedValue->__toString()); $this->assertRegExp('/value.*422/', $generatedValue->__toString()); $this->assertRegExp('/211/', $generatedValue->__toString()); $this->assertRegExp('/generator.*map/', $generatedValue->__toString()); }
public function testGivesUpShrinkingIfTheFilterIsNotSatisfiedTooManyTimes() { $generator = new SuchThatGenerator(function ($n) { return $n % 250 == 0; }, new ChooseGenerator(0, 1000)); $unshrinkable = GeneratedValue::fromJustValue(470); $this->assertEquals($unshrinkable, $generator->shrink($unshrinkable)); }
public function testContainsOnlyTheSpecifiedRange() { $generator = CharacterGenerator::ascii(); $this->assertTrue($generator->contains(GeneratedValue::fromJustValue(""))); $this->assertTrue($generator->contains(GeneratedValue::fromJustValue("A"))); $this->assertTrue($generator->contains(GeneratedValue::fromJustValue("b"))); $this->assertFalse($generator->contains(GeneratedValue::fromJustValue("é"))); }
public function testGeneratesVectorWithGivenSizeAndElementsFromGivenGenerator() { $generator = $this->vectorGenerator; $vector = $generator($this->size, $this->rand); $this->assertSame($this->vectorSize, count($vector->unbox())); foreach ($vector->unbox() as $element) { $this->assertTrue($this->elementGenerator->contains(GeneratedValue::fromJustValue($element))); } }
public function testContainsAnEmptySet() { $generator = new SetGenerator($this->singleElementGenerator); $this->assertTrue($generator->contains(GeneratedValue::fromJustValue([]))); }
public function testContainsAllTheNamesInTheSpecifiedDataSet() { $generator = NamesGenerator::defaultDataSet(); $this->assertTrue($generator->contains(GeneratedValue::fromJustValue("Bob"))); $this->assertFalse($generator->contains(GeneratedValue::fromJustValue("Daitarn"))); }
public function testCannotShrinkTheEmptyString() { $generator = new StringGenerator(); $minimumValue = GeneratedValue::fromJustValue(''); $this->assertEquals($minimumValue, $generator->shrink($minimumValue)); }
/** * @expectedException DomainException */ public function testShrinkOnlyAcceptsElementsOfTheDomainAsParameters() { $generator = new ConstantGenerator(5); $generator->shrink(GeneratedValue::fromJustValue(10)); }
/** * @expectedException DomainException */ public function testExceptionWhenTryingToShrinkValuesOutsideOfTheDomain() { $generator = new TupleGenerator([$this->generatorForSingleElement, $this->generatorForSingleElement]); $generator->shrink(GeneratedValue::fromJustValue([1, 2, 3])); }
/** * @expectedException DomainException */ public function testExceptionWhenTryingToShrinkValuesOutsideOfTheDomain() { $generator = new ChooseGenerator(100, 200); $generator->shrink(GeneratedValue::fromJustValue(300)); }
/** * @expectedException DomainException */ public function testExceptionWhenTryingToShrinkValuesOutsideOfTheDomain() { $generator = ElementsGenerator::fromArray(['A', 1]); $generator->shrink(GeneratedValue::fromJustValue(2)); }
public function testShrinkingIsNotImplementedYet() { $generator = new RegexGenerator(".*"); $word = GeneratedValue::fromJustValue("something"); $this->assertEquals($word, $generator->shrink($word)); }