Facebook
From Abhishek Shrivastava, 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 for add function
    public function testTwoPlusTwo(): void
    {
        $this->assertEquals(4, Calculator::add(2, 2));
    }

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

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

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

        // We cannot expect an exception for the case of 1/0 as the Calculator class does not throw an exception for this case, but instead returns infinity and issues a warning. 
        // Therefore, we can use the below test case to check if the result of dividing by zero is finite or not.
        $this->assertFalse(is_finite(Calculator::divide(1, 0)));
    }
}