20250714 1.1.3
This commit is contained in:
@@ -228,7 +228,7 @@ class ObjectArrayTest extends TestCase
|
||||
$this->assertSame(['c', 'b'], $sr);
|
||||
}
|
||||
|
||||
public function testToArray ()
|
||||
public function testAsArray ()
|
||||
{
|
||||
$this->PrepareForTest();
|
||||
|
||||
@@ -240,7 +240,7 @@ class ObjectArrayTest extends TestCase
|
||||
|
||||
$a_Array = new ObjectArray($array);
|
||||
|
||||
$sr = $a_Array->ToArray();
|
||||
$sr = $a_Array->AsArray();
|
||||
|
||||
$this->assertIsArray($sr);
|
||||
$this->assertSame($array, $sr);
|
||||
@@ -550,4 +550,55 @@ class ObjectArrayTest extends TestCase
|
||||
$this->assertEquals('test_string_C3',
|
||||
$objectArray3->GetRow(fn (D $value) => $value->stringD == 'test_string3')->c->stringC);
|
||||
}
|
||||
|
||||
public function testToArray ()
|
||||
{
|
||||
$this->PrepareForTest();
|
||||
|
||||
// Создаём тестовые классы
|
||||
$class1 = new D ('test_string1', 12345, true, new A("test_string_A1", 6789, false),
|
||||
new B("test_string_B1", 9876, "false"), new C("test_string_C1", 54321, true));
|
||||
$class2 = new D ('test_string2', 123456, false, new A("test_string_A1", 678910, true),
|
||||
new B("test_string_B2", 98765, "true"), new C("test_string_C2", 543210, false));
|
||||
$class = new D ('test_string3', 123450, true, new A("test_string_A2", 67890, false),
|
||||
new B("test_string_B3", 90876, "false"), new C("test_string_C3", 543201, true));
|
||||
|
||||
// Создаём массив объектов
|
||||
$objectArray = new ObjectArray([$class1, $class2, $class]);
|
||||
|
||||
// Сериализуем
|
||||
$asArray = $objectArray->ToArray();
|
||||
|
||||
// Сохраняем в файл
|
||||
file_put_contents(__DIR__ . 'serialized4.txt',
|
||||
json_encode($asArray, JSON_PRETTY_PRINT | JSON_UNESCAPED_UNICODE));
|
||||
|
||||
// Проверяем, что всё хорошо
|
||||
$this->assertNotEmpty($asArray);
|
||||
}
|
||||
|
||||
public function testFromArray ()
|
||||
{
|
||||
$this->PrepareForTest();
|
||||
|
||||
// Загружаем данные
|
||||
$serialized = file_get_contents(__DIR__ . 'serialized4.txt');
|
||||
|
||||
// Десериализуем
|
||||
$array = json_decode($serialized, true, flags: JSON_UNESCAPED_UNICODE);
|
||||
|
||||
// Создаём массив объектов
|
||||
$objectArray = new ObjectArray();
|
||||
|
||||
// Получаем из массива
|
||||
$objectArray->FromArray($array);
|
||||
|
||||
// Проверяем, что всё хорошо
|
||||
$this->assertEquals('test_string_A1',
|
||||
$objectArray->GetRow(fn (D $value) => $value->stringD == 'test_string1')->a->a);
|
||||
$this->assertEquals('test_string_B2',
|
||||
$objectArray->GetRow(fn (D $value) => $value->stringD == 'test_string2')->b->a);
|
||||
$this->assertEquals('test_string_C3',
|
||||
$objectArray->GetRow(fn (D $value) => $value->stringD == 'test_string3')->c->stringC);
|
||||
}
|
||||
}
|
Reference in New Issue
Block a user