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);
fu::strict_equal(true, fu::assert_all_ok($all_ints, function ($val) {
return is_int($val);
})['result'], "\$all_ints are all integers");
fu::strict_equal(false, fu::assert_all_ok($not_all_ints, function ($val) {
return is_int($val);
})['result'], "\$not_all_ints are NOT all integers");
});
fu::test('FUnit::assert_equal tests', function () {
fu::strict_equal(true, fu::assert_equal(1, 1)['result'], "1 and 1 are 'equal'");
fu::strict_equal(true, fu::assert_equal("a", "a")['result'], "'a' and 'a' are 'equal'");
fu::strict_equal(true, fu::assert_equal(new stdClass(), new stdClass())['result'], "new stdClass and new stdClass are 'equal'");
fu::strict_equal(true, fu::assert_equal(1, "1")['result'], "1 and '1' are 'equal'");
fu::strict_equal(true, fu::assert_equal(1, true)['result'], "1 and true are 'equal'");
fu::strict_equal(true, fu::assert_equal(null, 0)['result'], "null and 0 are 'equal'");
fu::strict_equal(true, fu::assert_equal(false, null)['result'], "false and null are 'equal'");
fu::strict_equal(true, fu::assert_equal(array(), null)['result'], "array() and null are 'equal'");
fu::strict_equal(false, fu::assert_equal(array(), 1)['result'], "array() and 1 are not 'equal'");
fu::strict_equal(false, fu::assert_equal(1, 0)['result'], "1 and 1 are not 'equal'");
fu::strict_equal(false, fu::assert_equal("a", "b")['result'], "'a' and 'b' are not 'equal'");
fu::strict_equal(false, fu::assert_equal(new stdClass(), new ArrayObject())['result'], "new stdClass and new ArrayObject are not 'equal'");