<?php 
 
use crodas\Autocomplete\Autocomplete; 
use crodas\Autocomplete\PDOConn; 
 
class PathTest extends \phpunit_framework_testcase 
{ 
    public function testLearn() 
    { 
        global $pdo; 
        $ac = new Autocomplete(new PDOConn($pdo)); 
        $pdo->beginTransaction(); 
        foreach(file(__DIR__ . '/data/brit-a-z.txt') as $word) { 
            $ac->index($word, 100-strlen($word)); 
        } 
        $ac->index('Something pretty large', 999); 
        $pdo->commit(); 
    } 
 
    /** @dependsOn testLearn */ 
    public function testMultiword() 
    { 
        global $pdo; 
        $ac = new Autocomplete(new PDOConn($pdo)); 
        $words = $ac->suggest('lar'); 
        $this->assertEquals($words[0]['word'], 'something pretty large'); 
    } 
 
    /** @dependsOn testLearn */ 
    public function testSpeed()  
    { 
        global $pdo; 
        $ac = new Autocomplete(new PDOConn($pdo)); 
        $time = microtime(true); 
        $this->assertEquals($ac->suggest('Fath'), $ac->suggest('FATH')); 
        $this->assertTrue(microtime(true)-$time < 0.02); 
        $time = microtime(true); 
        $this->assertEquals([], $ac->suggest('xxxx')); 
        $this->assertTrue(microtime(true)-$time < 0.02); 
    } 
 
    /** @dependsOn testLearn */ 
    public function testCaseSearch()  
    { 
        global $pdo; 
        $ac = new Autocomplete(new PDOConn($pdo)); 
        $this->assertEquals($ac->suggest('Fath'), $ac->suggest('FATH')); 
    } 
} 
 
 |