📑 comparehelper 📑
comparehelper is a small php helper for comparing api responses in your tests., (*1)
installation
install once with composer:, (*2)
composer require vielhuber/comparehelper
then add this to your files:, (*3)
require __DIR__.'/vendor/autoload.php';
use vielhuber\comparehelper\comparehelper;
usage
CompareHelper::compare($var1, $var2); // true|false
you can use the following placeholders:, (*4)
- 
*: any datatype
- 
#STR#: any string
- 
#INT#: any numeric value
examples
CompareHelper::compare('foo','foo'); // true
CompareHelper::compare(42,42); // true
CompareHelper::compare(
    [
        'foo' => 'bar'
    ],
    [
        'foo' => 'bar',
        'foo2' => 'bar'
    ]
); // false
CompareHelper::compare(
    [
        'foo' => 'bar',
        'bar' => [
            'baz',
            42
        ]
    ],
    [
        '#STR' => '*',
        'bar' => [
            '#STR#',
            '#INT#'
        ]
    ]
); // true
// ordering is lazy
CompareHelper::compare(['foo','bar'],['bar','foo']); // true
CompareHelper::compare(['#INT#','#STR#'],[42,'foo']); // true
CompareHelper::compare(['#INT#','#STR#'],['foo',42]); // false
CompareHelper::compare(['foo' => 7,'bar' => 42],['bar' => 42,'foo' => 7,]); // true
CompareHelper::compare(['#INT#' => 7,'#STR#' => 42],[7 => 7,'foo' => 42]); // true
CompareHelper::compare(['#INT#' => 7,'#STR#' => 42],['foo' => 42,7 => 7]); // false
// datatypes are strict
CompareHelper::compare(42,'42'); // false