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()); } }