Skip to content

Instantly share code, notes, and snippets.

@suzuken
Created May 14, 2012 08:24
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save suzuken/2692685 to your computer and use it in GitHub Desktop.
Save suzuken/2692685 to your computer and use it in GitHub Desktop.
<?php
require_once 'triangle.php';
class TriangleTest extends PHPUnit_Framework_TestCase
{
public function setUp()
{
echo "hoge";
}
public function providerEquilateral()
{
return array(
array(1, 1, 1),
array(50, 50, 50),
array(100, 100, 100)
);
}
public function providerIsosceles()
{
return array(
array(2, 2, 1),
array(2, 1, 2),
array(1, 2, 2),
array(50, 50, 1),
array(50, 1, 50),
array(1, 50, 50),
array(1, 50, 50),
array(100, 100, 99),
array(100, 99, 100),
array(99, 100, 100)
);
}
public function providerScalene()
{
return array(
array(2, 3, 4),
array(3, 4, 5),
array(100, 99, 98)
);
}
public function providerInvalidTriangle()
{
return array(
array(0, 0, 0),
array(0, 1, 1),
array(1, 0, 1),
array(1, 1, 0),
array(-1, 1, 1),
array(101, 100, 100),
array(100, 101, 100),
array(100, 100, 101),
array(1.1, 1.1, 1.1),
array(1.1, 1, 1),
array(1, 1.1, 1),
array(1, 1, 1.1),
array(2, 1, 1),
array(1, 2, 1),
array(1, 1, 2),
array(5, 7, 13),
array(7, 13, 5),
array(13, 5, 7),
array(100, 99, 1),
array(1, 100, 99),
array(99, 1, 100),
array(1, 2, 3, 4)
);
}
/**
* @dataProvider providerEquilateral
*/
public function testEquilateral($a, $b, $c)
{
$this->assertEquals(triangle($a, $b, $c), 'equilateral');
}
/**
* @dataProvider providerIsosceles
*/
public function testIsosceles($a, $b, $c)
{
$this->assertEquals(triangle($a, $b, $c), 'isosceles');
}
/**
* @dataProvider providerScalene
*/
public function testScalene($a, $b, $c)
{
$this->assertEquals(triangle($a, $b, $c), 'scalene');
}
/**
* @dataProvider providerInvalidTriangle
*/
public function testInvalidTriangle($a, $b, $c)
{
$this->assertEquals(triangle($a, $b, $c), false);
}
public function tearDown()
{
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment