Skip to content

Commit

Permalink
Wrote tests for generators.
Browse files Browse the repository at this point in the history
  • Loading branch information
gladchinda committed Jul 15, 2018
1 parent f7b1cdf commit 8806d44
Show file tree
Hide file tree
Showing 4 changed files with 115 additions and 0 deletions.
27 changes: 27 additions & 0 deletions tests/Keygen/Generators/AlphaNumericGeneratorTest.php
Original file line number Diff line number Diff line change
@@ -0,0 +1,27 @@
<?php

use PHPUnit\Framework\TestCase;
use Keygen\Generators\AlphaNumericGenerator;

/**
* @coversDefaultClass AlphaNumericGenerator
*/
final class AlphaNumericGeneratorTest extends TestCase
{
protected $generator;

protected function setUp()
{
$this->generator = new AlphaNumericGenerator;
}

/**
* @covers ::keygen
* @covers Keygen\Generator::generate
*/
public function testKeyGeneration()
{
$key = $this->generator->generate();
$this->assertRegExp('/^[a-zA-Z0-9]{16}$/', $key);
}
}
27 changes: 27 additions & 0 deletions tests/Keygen/Generators/NumericGeneratorTest.php
Original file line number Diff line number Diff line change
@@ -0,0 +1,27 @@
<?php

use PHPUnit\Framework\TestCase;
use Keygen\Generators\NumericGenerator;

/**
* @coversDefaultClass NumericGenerator
*/
final class NumericGeneratorTest extends TestCase
{
protected $generator;

protected function setUp()
{
$this->generator = new NumericGenerator;
}

/**
* @covers ::keygen
* @covers Keygen\Generator::generate
*/
public function testKeyGeneration()
{
$key = $this->generator->generate();
$this->assertRegExp('/^\d{16}$/', $key);
}
}
34 changes: 34 additions & 0 deletions tests/Keygen/Generators/RandomByteGeneratorTest.php
Original file line number Diff line number Diff line change
@@ -0,0 +1,34 @@
<?php

use PHPUnit\Framework\TestCase;
use Keygen\Generators\RandomByteGenerator;

/**
* @coversDefaultClass RandomByteGenerator
*/
final class RandomByteGeneratorTest extends TestCase
{
protected $generator;

protected function setUp()
{
$this->generator = new RandomByteGenerator;
}

/**
* @covers ::hex
* @covers ::keygen
* @covers ::generate
* @covers Keygen\Generator::generate
*/
public function testKeyGeneration()
{
$key = $this->generator->generate();
$this->assertEquals(16, strlen($key));

$this->assertFalse($this->generator->hex);
$hexKey = $this->generator->hex()->generate();
$this->assertRegExp('/^[a-f0-9]{16}$/', $hexKey);
$this->assertFalse($this->generator->hex);
}
}
27 changes: 27 additions & 0 deletions tests/Keygen/Generators/TokenGeneratorTest.php
Original file line number Diff line number Diff line change
@@ -0,0 +1,27 @@
<?php

use PHPUnit\Framework\TestCase;
use Keygen\Generators\TokenGenerator;

/**
* @coversDefaultClass TokenGenerator
*/
final class TokenGeneratorTest extends TestCase
{
protected $generator;

protected function setUp()
{
$this->generator = new TokenGenerator;
}

/**
* @covers ::keygen
* @covers Keygen\Generator::generate
*/
public function testKeyGeneration()
{
$key = $this->generator->generate();
$this->assertRegExp('/^[a-zA-Z0-9+\/]{16}$/', $key);
}
}

0 comments on commit 8806d44

Please sign in to comment.