PHP размер массива Джуди / количество - не то, что это утверждает?
Учитывая два экземпляра 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)
Спасибо! Андраш
1 ответ
Решение
Это было определенно ошибка. Исправление выпущено, пожалуйста, попробуйте: