<?php
namespace nur\sery\wip\schema\types;

use nulib\tests\TestCase;
use nur\sery\wip\schema\_scalar\ScalarWrapper;
use nur\sery\wip\schema\Schema;

class unionTest extends TestCase {
  function testUnionTypes() {
    ## l'ordre des types doit être respecté
    
    # string puis int
    /** @var ScalarWrapper $siw */
    Schema::nw($si, null, $sis, "string|int", $siw);

    $siw->set("12");
    self::assertSame("12", $si);
    $siw->set(12);
    self::assertSame(12, $si);

    # int puis string
    /** @var ScalarWrapper $isw */
    Schema::nw($is, null, $iss, "int|string", $isw);

    $isw->set("12");
    self::assertSame("12", $is);
    $isw->set(12);
    self::assertSame(12, $is);
  }
}
