Размер/количество массива PHP Judy - не то, за что он себя выдает?


Учитывая два экземпляра Judy, как нестатические методы size() и count() в любом из двух экземпляров могут возвращать то, что кажется суммой всех элементов в массивах judy в одном и том же процессе PHP?

Намеренно ли это? Кажется, ничто не указывает на это в документации. Я что-то пропустил? См. Модульный тест ниже. testSizeConsistent() не проходит, другие проходят, включая testIsSizeSum()

class JudyTest extends PHPUnit_Framework_TestCase {

    private $a, $b;

    public function setUp() {

        $this->a = new Judy(Judy::STRING_TO_MIXED);
        $this->b = new Judy(Judy::STRING_TO_MIXED);
    }

    public function testSizeConsistent() {

        // lets populate a 
        $this->a->offsetSet("foo", "bar");
        $this->a->offsetSet("another", "value");

        // b couldn't have possibly grown?
        $this->assertTrue($this->b->size() === 0);

    }

    public function testSizeZero() {

        $this->assertTrue($this->a->size() === 0);
        $this->assertTrue($this->b->size() === 0);

    }

    public function testIsSizeSum() {

        $this->a->offsetSet("foo", "bar");
        $this->a->offsetSet("another", "value");
        $this->b->offsetSet("third", "..");

        $this->assertTrue($this->b->size() === 3);

    }


}

(я использую последнюю "бета-версию" стабильности Джуди модуль php массива из pecl (pecl.php.net/Judy-0.1.2 ) и последняя версия libjudy, доступная в macports (judy @1.0.5 (devel)) в OS X Lion)

Спасибо! Андрас

Author: pgn, 2012-01-23

1 answers

Это определенно была ошибка. Было выпущено исправление, пожалуйста, попробуйте:

 1
Author: Orieg, 2012-05-31 02:55:58