Skip to content
Snippets Groups Projects
AbstractTestCase.php 902 B
Newer Older
<?php

namespace IQDEV\ElasticSearchTests;

use IQDEV\ElasticSearchTests\Helpers\Arr;
use PHPUnit\Framework\TestCase;

abstract class AbstractTestCase extends TestCase
{
Vadim Galizyanov's avatar
Vadim Galizyanov committed
    /**
     * Частичное сравнение массивов
     * @param array $expected
     * @param array $actual массив который должен иметь структуру и значения $expected
     * @param string $message
     * @return void
     */
    protected function assertArray(array $expected, array $actual, string $message = '')
    {
Vadim Galizyanov's avatar
Vadim Galizyanov committed
        $expectedKeys = Arr::dot($expected);
        $actualKeys = Arr::dot($actual);
        foreach ($expectedKeys as $key => $value) {
            $this->assertArrayHasKey($key, $actualKeys, $message);
            if (isset($actualKeys[$key])) {
                $this->assertEquals($actualKeys[$key], $value, $key);
            }
        }
    }
}