123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300 |
- <?php
- include_once __DIR__.'/../src/Codeception/function.php';
- class VerifyTest extends \Codeception\PHPUnit\TestCase {
- protected $xml;
- protected function _setUp()
- {
- $this->xml = new DomDocument;
- $this->xml->loadXML('<foo><bar>Baz</bar><bar>Baz</bar></foo>');
- }
-
- public function testEquals()
- {
- verify(5)->equals(5);
- verify("hello")->equals("hello");
- verify("user have 5 posts", 5)->equals(5);
- verify(3.251)->equals(3.25, 0.01);
- verify("respects delta", 3.251)->equals(3.25, 0.01);
- verify_file(__FILE__)->equals(__FILE__);
- }
- public function testNotEquals()
- {
- verify(3)->notEquals(5);
- verify(3.252)->notEquals(3.25, 0.001);
- verify("respects delta", 3.252, 0.001);
- verify_file(__FILE__)->notEquals(__DIR__ . DIRECTORY_SEPARATOR . '..' . DIRECTORY_SEPARATOR . 'composer.json');
- }
- public function testContains()
- {
- verify(array(3, 2))->contains(3);
- verify("user have 5 posts", array(3, 2))->notContains(5);
- }
- public function testGreaterLowerThan()
- {
- verify(7)->greaterThan(5);
- verify(7)->lessThan(10);
- verify(7)->lessOrEquals(7);
- verify(7)->lessOrEquals(8);
- verify(7)->greaterOrEquals(7);
- verify(7)->greaterOrEquals(5);
- }
- public function testTrueFalseNull()
- {
- verify(true)->true();
- verify(false)->false();
- verify(null)->null();
- verify(true)->notNull();
- verify('something should be false', false)->false();
- verify('something should be true', true)->true();
- }
- public function testEmptyNotEmpty()
- {
- verify(array('3', '5'))->notEmpty();
- verify(array())->isEmpty();
- }
- public function testVerifyThat()
- {
- verify_that(12);
- verify_that('hello world');
- verify_that(array('hello'));
- }
- public function testVerifyNot()
- {
- verify_not(false);
- verify_not(null);
- verify_not(array());
- }
- public function testExpectFunctions()
- {
- expect(12)->equals(12);
- expect_that(true);
- expect_not(false);
- }
- public function testArrayHasKey()
- {
- $errors = array('title' => 'You should add title');
- expect($errors)->hasKey('title');
- expect($errors)->hasntKey('body');
- }
- public function testIsInstanceOf()
- {
- $testClass = new DateTime();
- expect($testClass)->isInstanceOf('DateTime');
- expect($testClass)->isNotInstanceOf('DateTimeZone');
- }
- public function testInternalType()
- {
- $testVar = array();
- expect($testVar)->internalType('array');
- expect($testVar)->notInternalType('boolean');
- }
- public function testHasAttribute()
- {
- expect('Exception')->hasAttribute('message');
- expect('Exception')->notHasAttribute('fakeproperty');
-
- $testObject = (object) array('existingAttribute' => true);
- expect($testObject)->hasAttribute('existingAttribute');
- expect($testObject)->notHasAttribute('fakeproperty');
- }
- public function testHasStaticAttribute()
- {
- expect('FakeClassForTesting')->hasStaticAttribute('staticProperty');
- expect('FakeClassForTesting')->notHasStaticAttribute('fakeProperty');
- }
- public function testContainsOnly()
- {
- expect(array('1', '2', '3'))->containsOnly('string');
- expect(array('1', '2', 3))->notContainsOnly('string');
- }
- public function testContainsOnlyInstancesOf()
- {
- expect(array(new FakeClassForTesting(), new FakeClassForTesting(), new FakeClassForTesting()))
- ->containsOnlyInstancesOf('FakeClassForTesting');
- }
- public function testCount()
- {
- expect(array(1,2,3))->count(3);
- expect(array(1,2,3))->notCount(2);
- }
- public function testEqualXMLStructure()
- {
- $expected = new DOMElement('foo');
- $actual = new DOMElement('foo');
- expect($expected)->equalXMLStructure($actual);
- }
- public function testFileExists()
- {
- expect_file(__FILE__)->exists();
- expect_file('completelyrandomfilename.txt')->notExists();
- }
- public function testEqualsJsonFile()
- {
- expect_file(__DIR__ . DIRECTORY_SEPARATOR . 'assets' . DIRECTORY_SEPARATOR . 'json-test-file.json')
- ->equalsJsonFile(__DIR__ . DIRECTORY_SEPARATOR . 'assets' . DIRECTORY_SEPARATOR . 'equal-json-test-file.json');
- expect('{"some" : "data"}')->equalsJsonFile(__DIR__ . DIRECTORY_SEPARATOR . 'assets' . DIRECTORY_SEPARATOR . 'equal-json-test-file.json');
- }
- public function testEqualsJsonString()
- {
- expect('{"some" : "data"}')->equalsJsonString('{"some" : "data"}');
- }
- public function testRegExp()
- {
- expect('somestring')->regExp('/string/');
- }
- public function testMatchesFormat()
- {
- expect('somestring')->matchesFormat('%s');
- expect('somestring')->notMatchesFormat('%i');
- }
- public function testMatchesFormatFile()
- {
- expect('23')->matchesFormatFile(__DIR__ . DIRECTORY_SEPARATOR . 'assets' . DIRECTORY_SEPARATOR . 'format-file.txt');
- expect('asdfas')->notMatchesFormatFile(__DIR__ . DIRECTORY_SEPARATOR . 'assets' . DIRECTORY_SEPARATOR . 'format-file.txt');
- }
- public function testSame()
- {
- expect(1)->same(0+1);
- expect(1)->notSame(true);
- }
- public function testEndsWith()
- {
- expect('A completely not funny string')->endsWith('ny string');
- expect('A completely not funny string')->notEndsWith('A completely');
- }
- public function testEqualsFile()
- {
- expect('%i')->equalsFile(__DIR__ . DIRECTORY_SEPARATOR . 'assets' . DIRECTORY_SEPARATOR . 'format-file.txt');
- expect('Another string')->notEqualsFile(__DIR__ . DIRECTORY_SEPARATOR . 'assets' . DIRECTORY_SEPARATOR . 'format-file.txt');
- }
- public function testStartsWith()
- {
- expect('A completely not funny string')->startsWith('A completely');
- expect('A completely not funny string')->notStartsWith('string');
- }
- public function testEqualsXmlFile()
- {
- expect_file(__DIR__ . DIRECTORY_SEPARATOR . 'assets' . DIRECTORY_SEPARATOR . 'xml-test-file.xml')
- ->equalsXmlFile(__DIR__ . DIRECTORY_SEPARATOR . 'assets' . DIRECTORY_SEPARATOR . 'xml-test-file.xml');
- expect('<foo><bar>Baz</bar><bar>Baz</bar></foo>')
- ->equalsXmlFile(__DIR__ . DIRECTORY_SEPARATOR . 'assets' . DIRECTORY_SEPARATOR . 'xml-test-file.xml');
- }
- public function testEqualsXmlString()
- {
- expect('<foo><bar>Baz</bar><bar>Baz</bar></foo>')
- ->equalsXmlString('<foo><bar>Baz</bar><bar>Baz</bar></foo>');
- }
- public function testStringContainsString()
- {
- verify('foo bar')->stringContainsString('o b');
- verify('foo bar')->stringNotContainsString('BAR');
- }
- public function testStringContainsStringIgnoringCase()
- {
- verify('foo bar')->stringContainsStringIgnoringCase('O b');
- verify('foo bar')->stringNotContainsStringIgnoringCase('baz');
- }
- public function testIsString()
- {
- verify('foo bar')->string();
- verify(false)->notString();
- }
- public function testIsArray()
- {
- verify([1,2,3])->array();
- verify(false)->notArray();
- }
- public function testIsBool()
- {
- verify(false)->bool();
- verify([1,2,3])->notBool();
- }
- public function testIsFloat()
- {
- verify(1.5)->float();
- verify(1)->notFloat();
- }
- public function testIsInt()
- {
- verify(5)->int();
- verify(1.5)->notInt();
- }
- public function testIsNumeric()
- {
- verify('1.5')->numeric();
- verify('foo bar')->notNumeric();
- }
- public function testIsObject()
- {
- verify(new stdClass)->object();
- verify(false)->notObject();
- }
- public function testIsResource()
- {
- verify(fopen(__FILE__, 'r'))->resource();
- verify(false)->notResource();
- }
- public function testIsScalar()
- {
- verify('foo bar')->scalar();
- verify([1,2,3])->notScalar();
- }
- public function testIsCallable()
- {
- verify(function() {})->callable();
- verify(false)->notCallable();
- }
- }
- class FakeClassForTesting
- {
- static $staticProperty;
- }
|