<?php
use FUnit as fu;
use FUnit\TestSuite;
require_once __DIR__ . '/../src/FUnit.php';
fu::suite('Assertion test suite');
fu::test('FUnit::assert_ok tests', function () {
fu::strict_equal(true, fu::assert_ok(1)['result'], "1 is truthy");
fu::strict_equal(false, fu::assert_ok(0)['result'], "0 is falsy");
fu::strict_equal(false, fu::assert_ok("")['result'], "empty string is falsy");
fu::strict_equal(false, fu::assert_ok(array())['result'], "empty array is falsy");
fu::strict_equal(false, fu::assert_ok(null)['result'], "null is falsy");
fu::strict_equal(false, fu::assert_ok(false)['result'], "false is falsy");
fu::strict_equal(true, fu::assert_ok(true)['result'], "true is truthy");
fu::strict_equal(true, fu::assert_ok('false')['result'], "'false' is truthy");
fu::strict_equal(true, fu::assert_ok(new stdClass())['result'], "stdClass is truthy");
});
fu::test('FUnit::assert_not_ok tests', function () {
fu::strict_equal(false, fu::assert_not_ok(1)['result'], "1 is truthy");
fu::strict_equal(true, fu::assert_not_ok(0)['result'], "0 is falsy");
fu::strict_equal(true, fu::assert_not_ok("")['result'], "empty string is falsy");
fu::strict_equal(true, fu::assert_not_ok(array())['result'], "empty array is falsy");
fu::strict_equal(true, fu::assert_not_ok(null)['result'], "null is falsy");
fu::strict_equal(true, fu::assert_not_ok(false)['result'], "false is falsy");
fu::strict_equal(false, fu::assert_not_ok(true)['result'], "true is truthy");
fu::strict_equal(false, fu::assert_not_ok('false')['result'], "'false' is truthy");
fu::strict_equal(false, fu::assert_not_ok(new stdClass())['result'], "stdClass is truthy");
});
fu::test('FUnit::assert_all_ok tests', function () {
$all_ints = array(1, 2, 3, 4, 5);
$not_all_ints = array(1, 2, "3", 4, 5);