nur-sery/nur_tests/b/coll/ArrayViewStackTest.php

40 lines
1.0 KiB
PHP

<?php
namespace nur\b\coll;
use nur\t\TestCase;
class ArrayViewStackTest extends TestCase {
function testBasic() {
$first = ["a" => 1, "b"=> 1];
$second = ["b" => 2, "c" => 2];
$third = [];
$stack = new ArrayViewStack();
$stack->push($first)->push($second)->push($third);
self::assertSame(null, $stack->get("d"));
self::assertSame(2, $stack->get("c"));
self::assertSame(2, $stack->get("b"));
self::assertSame(1, $stack->get("a"));
$stack["a"] = "x";
$stack["b"] = "y";
$stack["c"] = "z";
$stack["d"] = "t";
self::assertSame("t", $stack->get("d"));
self::assertSame("z", $stack->get("c"));
self::assertSame("y", $stack->get("b"));
self::assertSame("x", $stack->get("a"));
unset($stack["a"]);
unset($stack["b"]);
unset($stack["c"]);
unset($stack["d"]);
self::assertSame(null, $stack->get("d"));
self::assertSame(2, $stack->get("c"));
self::assertSame(2, $stack->get("b"));
self::assertSame(1, $stack->get("a"));
}
}