12345, 'first_name' => 'Test', 'last_name' => 'Bot', 'username' => 'test_bot', 'is_bot' => true, 'last_activity_time' => 1678886400000, 'description' => 'A test bot.', 'avatar_url' => 'http://example.com/avatar.jpg', 'full_avatar_url' => 'http://example.com/full_avatar.jpg', 'commands' => [ new BotCommand('start', 'Start the bot'), new BotCommand('help', 'Show help'), ], ]; $botInfo = BotInfo::fromArray($data); $this->assertInstanceOf(BotInfo::class, $botInfo); $this->assertSame(12345, $botInfo->user_id); $this->assertSame('Test', $botInfo->first_name); $this->assertTrue($botInfo->is_bot); $this->assertCount(2, $botInfo->commands); $this->assertInstanceOf(BotCommand::class, $botInfo->commands[0]); $this->assertSame('start', $botInfo->commands[0]->name); } }