84 lines
		
	
	
		
			2.4 KiB
		
	
	
	
		
			PHP
		
	
	
	
	
	
			
		
		
	
	
			84 lines
		
	
	
		
			2.4 KiB
		
	
	
	
		
			PHP
		
	
	
	
	
	
<?php
 | 
						|
namespace nur\b\params;
 | 
						|
 | 
						|
use nur\b\params\impl\BPB2;
 | 
						|
use nur\b\params\impl\BPC1;
 | 
						|
use nur\b\params\impl\BPC2;
 | 
						|
use nur\b\params\impl\BPD1;
 | 
						|
use nur\b\params\impl\BPD2;
 | 
						|
use nur\b\params\impl\MyParametrable;
 | 
						|
use nur\t\TestCase;
 | 
						|
 | 
						|
class ParametrableTest extends TestCase {
 | 
						|
  function testDefaults() {
 | 
						|
    $top = new BPC1();
 | 
						|
    self::assertSame([null, null, null, null], $top->getTopData());
 | 
						|
    $top->setParametrableParams(null);
 | 
						|
    self::assertSame([null, null, null, null], $top->getTopData());
 | 
						|
    $top->setParametrableParams([null, null, null, null]);
 | 
						|
    self::assertSame(["", null, false, null], $top->getTopData());
 | 
						|
 | 
						|
    $sub = new BPC2();
 | 
						|
    self::assertSame([null, null, null, null, null, null, null, null], $sub->getSubData());
 | 
						|
    $sub->setParametrableParams(null);
 | 
						|
    self::assertSame([null, null, null, null, null, null, null, null], $sub->getSubData());
 | 
						|
    $sub->setParametrableParams([null, null, null, null, null, null, null, null]);
 | 
						|
    self::assertSame(["", null, false, null, "", null, false, null], $sub->getSubData());
 | 
						|
  }
 | 
						|
 | 
						|
  function testDefaults2() {
 | 
						|
    Txx("od11");
 | 
						|
    $od11 = new BPD1();
 | 
						|
    self::assertSame([null, "boum", null, 18], $od11->od1Values());
 | 
						|
    Txx("od12");
 | 
						|
    $od12 = new BPD1([
 | 
						|
      "string" => "hello",
 | 
						|
      "nstring" => "world",
 | 
						|
      "int" => 15,
 | 
						|
      "nint" => 39,
 | 
						|
    ]);
 | 
						|
    self::assertSame(["hello", "world", 15, 39], $od12->od1Values());
 | 
						|
 | 
						|
    Txx("od21");
 | 
						|
    $od21 = new BPD2();
 | 
						|
    self::assertSame([42, 18, null, null], $od21->od2Values());
 | 
						|
    Txx("od22");
 | 
						|
    $od22 = new BPD2([
 | 
						|
      "int" => 15,
 | 
						|
      "nint" => 39,
 | 
						|
      "bool" => true,
 | 
						|
      "nbool" => false,
 | 
						|
    ]);
 | 
						|
    self::assertSame([15, 39, true, false], $od22->od2Values());
 | 
						|
  }
 | 
						|
 | 
						|
  function testProps() {
 | 
						|
    $second = new BPB2();
 | 
						|
    $second->setParametrableParams([
 | 
						|
      "first" => "premier",
 | 
						|
      "second" => "20",
 | 
						|
    ]);
 | 
						|
    self::assertSame(["premier", 20], $second->getData());
 | 
						|
  }
 | 
						|
 | 
						|
  function testMyParametrable() {
 | 
						|
    $p = new MyParametrable([
 | 
						|
      "name" => "plouf",
 | 
						|
    ]);
 | 
						|
    self::assertSame("plouf", $p->getName());
 | 
						|
    self::assertNull($p->isActive());
 | 
						|
    self::assertNull($p->getNumber());
 | 
						|
    self::assertNull($p->whatIsMasked());
 | 
						|
 | 
						|
    $p->setName("pouet");
 | 
						|
    self::assertSame("pouet", $p->getName());
 | 
						|
 | 
						|
    $p->setNumber(2);
 | 
						|
    self::assertSame(12, $p->getNumber());
 | 
						|
 | 
						|
    $p->setMasked("hidden");
 | 
						|
    self::assertNull($p->getMasked());
 | 
						|
    self::assertSame("hidden", $p->whatIsMasked());
 | 
						|
  }
 | 
						|
}
 |