DiffMatchPatch\MatchTest::testBitap PHP Method

testBitap() public method

public testBitap ( )
    public function testBitap()
    {
        $this->m->setDistance(100);
        $this->m->setThreshold(0.5);
        // Exact matches.
        $this->assertEquals(5, $this->m->bitap("abcdefghijk", "fgh", 5));
        $this->assertEquals(5, $this->m->bitap("abcdefghijk", "fgh", 0));
        // Fuzzy matches.
        $this->assertEquals(4, $this->m->bitap("abcdefghijk", "efxhi", 0));
        $this->assertEquals(2, $this->m->bitap("abcdefghijk", "cdefxyhijk", 5));
        $this->assertEquals(-1, $this->m->bitap("abcdefghijk", "bxy", 1));
        // Overflow.
        $this->assertEquals(2, $this->m->bitap("123456789xx0", "3456789x0", 2));
        $this->assertEquals(0, $this->m->bitap("abcdef", "xxabc", 4));
        $this->assertEquals(3, $this->m->bitap("abcdef", "defyy", 4));
        $this->assertEquals(0, $this->m->bitap("abcdef", "xabcdefy", 0));
        // Threshold test.
        $this->m->setThreshold(0.4);
        $this->assertEquals(4, $this->m->bitap("abcdefghijk", "efxyhi", 1));
        $this->m->setThreshold(0.3);
        $this->assertEquals(-1, $this->m->bitap("abcdefghijk", "efxyhi", 1));
        $this->m->setThreshold(0.0);
        $this->assertEquals(1, $this->m->bitap("abcdefghijk", "bcdef", 1));
        $this->m->setThreshold(0.5);
        // Multiple select.
        $this->assertEquals(0, $this->m->bitap("abcdexyzabcde", "abccde", 3));
        $this->assertEquals(8, $this->m->bitap("abcdexyzabcde", "abccde", 5));
        // Distance test.
        // Strict location.
        $this->m->setDistance(10);
        $this->assertEquals(-1, $this->m->bitap("abcdefghijklmnopqrstuvwxyz", "abcdefg", 24));
        $this->assertEquals(0, $this->m->bitap("abcdefghijklmnopqrstuvwxyz", "abcdxxefg", 1));
        //Loose location.
        $this->m->setDistance(1000);
        $this->assertEquals(0, $this->m->bitap("abcdefghijklmnopqrstuvwxyz", "abcdefg", 24));
    }