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

use nulib\tests\TestCase;
use nur\sery\schema\_scalar\ScalarValue;
use nur\sery\schema\Schema;

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

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

    # int puis string
    Schema::nv($isv, $is, null, $iss, "int|string");

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