PAMI\Client\Impl\Test_Events::_testEvent PHP Method

_testEvent() private method

private _testEvent ( $eventName, array $getters, array $values, array $translatedValues )
$getters array
$values array
$translatedValues array
    private function _testEvent($eventName, array $getters, array $values, array $translatedValues)
    {
        global $mock_stream_socket_client;
        global $mock_stream_set_blocking;
        global $mockTime;
        global $standardAMIStart;
        $eventClass = "\\PAMI\\Message\\Event\\" . $eventName . 'Event';
        $mockTime = true;
        $mock_stream_socket_client = true;
        $mock_stream_set_blocking = true;
        $options = array('host' => '2.3.4.5', 'scheme' => 'tcp://', 'port' => 9999, 'username' => 'asd', 'secret' => 'asd', 'connect_timeout' => 10, 'read_timeout' => 10);
        $write = array("action: Login\r\nactionid: 1432.123\r\nusername: asd\r\nsecret: asd\r\n");
        setFgetsMock($standardAMIStart, $write);
        $client = new \PAMI\Client\Impl\ClientImpl($options);
        $client->registerEventListener(new SomeListenerClass());
        $client->open();
        $message = array();
        $message[] = 'Event: ' . $eventName;
        foreach ($values as $key => $value) {
            $message[] = $key . ': ' . $value;
        }
        $message[] = '';
        setFgetsMock($message, $message);
        for ($i = 0; $i < count($message); $i++) {
            $client->process();
        }
        $event = SomeListenerClass::$event;
        foreach ($values as $key => $value) {
            if (isset($getters[$eventName][$key])) {
                $methodName = 'get' . $getters[$eventName][$key];
            } else {
                $methodName = 'get' . $key;
            }
            if (isset($translatedValues[$eventName][$key])) {
                $value = $translatedValues[$eventName][$key];
            }
            $this->assertTrue(method_exists($event, $methodName), sprintf('Method %s doesn\'t exixt in event %s', $methodName, get_class($event)));
            $this->assertEquals($event->{$methodName}(), $value, $eventName);
        }
    }