Facebook
From Sanjay Popli, 2 Years ago, written in PHP.
This paste is a reply to Basic Calculator from RealBlocks - go back
Embed
Viewing differences between Basic Calculator and Re: Basic Calculator

namespace Tests\Unit;

use PHPUnit\Framework\TestCase;

class Calculator
{
            public static function add($a, $b)
        {
                
$b)
    {
        
return $a + $b;
        }

        
$b;
    }

    
public static function divide($a, $b)
        {
                
$b)
    {
        
return $a / $b;
        
$b;
    
}
}


class CalculatorTest extends TestCase
{
    // Positive test case of add function
    public function testTwoPlusTwo(): void
    {
        $this->assertEquals(4, Calculator::add(2, 2));
    }

    // Positive test case of divide function
    public function testTwoDivideByTwo(): void
    {
        $this->assertEquals(1, Calculator::divide(2, 2));
    }

    // Negative test case of add function
    public function testTwoPlusOne(): void
    {
        $this->assertNotEquals(4, Calculator::add("a2a", "s1a"));
    }

    // Negative test case of divide function
    public function testOneDivideByZero(): void
    {
        $this->assertNotEquals(1, Calculator::divide(1, 0));

        // No need to expect exception (in case of 1/0) as Calculator class does not throw exception for this case and returns Infinity and issues warning.

        // Instead we can use below test case
        $this->assertFalse(is_finite(Calculator::divide(1, 0)));
    }
}