Учитывая два экземпляра 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 массива Judy от pecl (pecl.php.net/Judy-0.1.2) и последнюю версию libjudy, доступную в macports (judy @ 1.0.5 (devel)) на OS X Lion)
спасибо!
Андраш