assertNull( false ); $this->assertNull( 0 ); $this->assertNull( 0.0 ); $this->assertNull( '' ); $this->assertFalse( null ); $this->assertFalse( 0 ); $this->assertFalse( '' ); $this->assertSame( 0, null ); $this->assertSame( 0, false ); $this->assertSame( 0.0, '0' ); $this->assertSame( 00.00, null ); $this->assertSame( 0.0, null ); $this->assertSame( 0., null ); $this->assertSame( '', null ); $this->assertSame( '', false ); $this->assertSame( "", false ); $this->assertSame( '0', 0.0 ); // Expected values that can be confused with true $this->assertTrue( 1 ); $this->assertSame( 1, true ); $this->assertSame( 1.0, true ); $this->assertSame( '1', true ); $this->assertSame( '01.0', true ); // Expected values that can be confused with floating point numbers $this->assertSame( ' 2.', 2 ); $this->assertSame( ' .5', 0.5 ); // Edge-cases $this->assertSame( null );$this->assertSame( '', '' ); $this->assertSame( null /* oh dear */, null ); // Stuff that should *not* be reported $this->assertEquals( 2, 2 ); $this->assertEquals( 2.0, 2.0 ); $this->assertEquals( '9a', '9a' ); $this->assertEquals( " .a", ' .a' ); // Changing these to assertNotSame() will make them *less* strict! $this->assertNotEquals( null, 1 ); $this->assertNotEquals( 0, 1 ); $this->assertNotEquals( 0.0, 1 ); $this->assertNotEquals( '', 1 ); $this->assertNotEquals( '0', 1 ); $this->assertNotEquals( '0.0', 1 ); $this->assertNotEquals( 1, 0 ); $this->assertNotEquals( 1.0, 0 ); $this->assertNotEquals( '1', 0 ); $this->assertNotEquals( '1.0', 0 ); // These are just confusing $this->assertTrue( true ); $this->assertFalse( false ); $this->assertTrue( true ); $this->assertFalse( false ); // Avoid assertEmpty $this->assertEmpty( [] ); } }