public function callsAndConstraints()
 {
     return [[['foo', 'foo'], [Sut::isType('string'), 'foo'], true], [['foo', 'foo'], ['baz', Sut::isType('string')], false], [['foo', 'foo'], [Sut::isType('array'), Sut::isType('array')], false], [[1, 2], [Sut::isType('int'), Sut::isType('int')], true], [[1, 2], [Sut::isType('string'), Sut::isType('int')], false], [[1, 2], [Sut::isType('string'), Sut::isType('string')], false], [[array(1, 2), array(3, 4)], [Sut::isType('array'), array(3, 4)], true], [[array(1, 2), array(3, 4)], [Sut::isType('array'), Sut::isType('array')], true], [[new \stdClass(), array(3, 4)], [Sut::isInstanceOf('\\stdClass'), Sut::isType('array')], true], [[new \stdClass(), array(3, 4)], [Sut::isInstanceOf('\\stdClass'), array(3, 4)], true], [[new \stdClass(), array(3, 4)], [Sut::anything(), Sut::anything()], true]];
 }
 public function callsAndConstraints()
 {
     return [[[new \stdClass(), [1, 2, 3], 'foo'], [FunctionMocker::isInstanceOf('stdClass'), FunctionMocker::isType('array'), FunctionMocker::isType('string')], false], [[null, [1, 2, 3], 'foo'], [FunctionMocker::isInstanceOf('stdClass'), FunctionMocker::isType('array'), FunctionMocker::isType('string')], true], [[new \stdClass(), null, 'foo'], [FunctionMocker::isInstanceOf('stdClass'), FunctionMocker::isType('array'), FunctionMocker::isType('string')], true], [[new \stdClass(), [1, 2, 3], null], [FunctionMocker::isInstanceOf('stdClass'), FunctionMocker::isType('array'), FunctionMocker::isType('string')], true], [['foo', [], null], [FunctionMocker::isInstanceOf('stdClass'), FunctionMocker::isType('array'), FunctionMocker::isType('string')], true], [['foo', [], null], [FunctionMocker::anything(), FunctionMocker::anything(), FunctionMocker::anything()], false]];
 }