Skip to content
Snippets Groups Projects
Select Git revision
  • b38cb0e4646bc9d15316ff0727f992de83511710
  • master default protected
  • 1.1.0
  • 1.0
4 results

TestGetStrategy.php

Blame
  • TestGetStrategy.php 1.38 KiB
    <?php
    
    namespace unit;
    
    use PHPUnit\Framework\TestCase;
    use WPDesk\ShowDecision\GetStrategy;
    
    class TestGetStrategy extends TestCase {
    	const true_1 = [ 'a' => '1' ];
    	const true_2 = [ 'b' => '2' ];
    	const true_3 = [ 'c' => '3' ];
    
    	const false_1 = [ 'x' => '1' ];
    	const false_2 = [ 'y' => '2' ];
    
    	/**
    	 * Prepares $_GET with true clauses
    	 */
    	private function prepare_get() {
    		$_GET = [
    			self::true_1,
    			self::true_2,
    			self::true_3
    		];
    	}
    
    	protected function setUp(): void {
    		parent::setUp();
    		$this->prepare_get();
    	}
    
    	public function testAndClausesFailure() {
    		$strategy = new GetStrategy( [
    			[
    				self::true_1,
    				self::false_1
    			]
    		] );
    		$this->assertFalse( $strategy->shouldDisplay() );
    	}
    
    	public function testAndClausesSuccess() {
    		$strategy = new GetStrategy( [
    			[
    				self::true_1,
    				self::true_2,
    				self::true_3
    			]
    		] );
    		$this->assertTrue( $strategy->shouldDisplay() );
    	}
    
    	public function testOrClausesSuccess() {
    		$strategy = new GetStrategy( [
    			[
    				self::true_1,
    				self::false_1
    			],
    			[
    				self::true_1,
    				self::true_2
    			]
    		] );
    		$this->assertTrue( $strategy->shouldDisplay() );
    	}
    
    	public function testOrClausesFailure() {
    		$strategy = new GetStrategy( [
    			[
    				self::true_1,