Overview

Namespaces

  • App
    • CloudModule
      • Forms
      • Model
      • Presenters
    • ConfigModule
      • Forms
      • Model
      • Presenters
    • Forms
    • GatewayModule
      • Model
      • Presenters
    • IqrfAppModule
      • Forms
      • Model
      • Presenters
    • Model
    • Presenters
    • Router
    • ServiceModule
      • Model
      • Presenters
  • PHP
  • Test
    • ConfigModule
      • Model
    • IqrfAppModule
      • Model
    • Model
    • Router
    • ServiceModule
      • Model

Classes

  • App\CloudModule\Forms\CloudAwsMqttFormFactory
  • App\CloudModule\Forms\CloudAzureMqttFormFactory
  • App\CloudModule\Forms\CloudBluemixMqttFormFactory
  • App\CloudModule\Forms\CloudInteliGlueMqttFormFactory
  • App\CloudModule\Model\AwsManager
  • App\CloudModule\Model\AzureManager
  • App\CloudModule\Model\BluemixManager
  • App\CloudModule\Model\InteliGlueManager
  • App\CloudModule\Presenters\AwsPresenter
  • App\CloudModule\Presenters\AzurePresenter
  • App\CloudModule\Presenters\BluemixPresenter
  • App\CloudModule\Presenters\HomepagePresenter
  • App\CloudModule\Presenters\InteliGluePresenter
  • App\ConfigModule\Forms\ConfigBaseServiceFormFactory
  • App\ConfigModule\Forms\ConfigComponentsFormFactory
  • App\ConfigModule\Forms\ConfigIqrfAppFormFactory
  • App\ConfigModule\Forms\ConfigIqrfFormFactory
  • App\ConfigModule\Forms\ConfigMainFormFactory
  • App\ConfigModule\Forms\ConfigMqFormFactory
  • App\ConfigModule\Forms\ConfigMqttFormFactory
  • App\ConfigModule\Forms\ConfigSchedulerFormFactory
  • App\ConfigModule\Forms\ConfigTracerFormFactory
  • App\ConfigModule\Forms\ConfigUdpFormFactory
  • App\ConfigModule\Model\BaseServiceManager
  • App\ConfigModule\Model\ComponentManager
  • App\ConfigModule\Model\GenericManager
  • App\ConfigModule\Model\InstanceManager
  • App\ConfigModule\Model\IqrfManager
  • App\ConfigModule\Model\MainManager
  • App\ConfigModule\Model\SchedulerManager
  • App\ConfigModule\Presenters\BaseServicePresenter
  • App\ConfigModule\Presenters\HomepagePresenter
  • App\ConfigModule\Presenters\IqrfAppPresenter
  • App\ConfigModule\Presenters\IqrfPresenter
  • App\ConfigModule\Presenters\MainPresenter
  • App\ConfigModule\Presenters\MqPresenter
  • App\ConfigModule\Presenters\MqttPresenter
  • App\ConfigModule\Presenters\SchedulerPresenter
  • App\ConfigModule\Presenters\TracerPresenter
  • App\ConfigModule\Presenters\UdpPresenter
  • App\Forms\FormFactory
  • App\Forms\SignInFormFactory
  • App\GatewayModule\Model\InfoManager
  • App\GatewayModule\Model\LogManager
  • App\GatewayModule\Presenters\ChangeModePresenter
  • App\GatewayModule\Presenters\HomepagePresenter
  • App\GatewayModule\Presenters\InfoPresenter
  • App\GatewayModule\Presenters\LogPresenter
  • App\IqrfAppModule\Forms\IqrfAppSendRawFormFactory
  • App\IqrfAppModule\Forms\IqrfNetBondingFormFactory
  • App\IqrfAppModule\Forms\IqrfNetDiscoveryFormFactory
  • App\IqrfAppModule\Model\CoordinatorParser
  • App\IqrfAppModule\Model\IqrfAppManager
  • App\IqrfAppModule\Model\IqrfMacroManager
  • App\IqrfAppModule\Model\IqrfNetManager
  • App\IqrfAppModule\Model\OsParser
  • App\IqrfAppModule\Presenters\HomepagePresenter
  • App\IqrfAppModule\Presenters\NetworkPresenter
  • App\IqrfAppModule\Presenters\SendRawPresenter
  • App\Model\CommandManager
  • App\Model\FileManager
  • App\Model\JsonFileManager
  • App\Presenters\BasePresenter
  • App\Presenters\Error4xxPresenter
  • App\Presenters\ErrorPresenter
  • App\Presenters\HomepagePresenter
  • App\Presenters\SignPresenter
  • App\Router\RouterFactory
  • App\ServiceModule\Model\ServiceManager
  • App\ServiceModule\Presenters\ControlPresenter
  • App\ServiceModule\Presenters\StatusPresenter
  • Test\ConfigModule\Model\BaseServiceManagerTest
  • Test\ConfigModule\Model\ComponentManagerTest
  • Test\ConfigModule\Model\GenericManagerTest
  • Test\ConfigModule\Model\InstanceManagerTest
  • Test\ConfigModule\Model\IqrfManagerTest
  • Test\ConfigModule\Model\MainManagerTest
  • Test\ConfigModule\Model\SchedulerManagerTest
  • Test\IqrfAppModule\Model\CoordinatorParserTest
  • Test\IqrfAppModule\Model\IqrfAppManagerTest
  • Test\IqrfAppModule\Model\IqrfMacroManagerTest
  • Test\IqrfAppModule\Model\OsParserTest
  • Test\Model\CommandManagerTest
  • Test\Model\InfoManagerTest
  • Test\Model\JsonFileManagerTest
  • Test\Router\RouterFactoryTest
  • Test\ServiceModule\Model\ServiceManagerTest

Interfaces

  • Throwable

Exceptions

  • App\CloudModule\Model\InvalidConnectionString
  • App\IqrfAppModule\Model\EmptyResponseException
  • App\IqrfAppModule\Model\InvalidOperationModeException
  • App\ServiceModule\Model\NotSupportedInitSystemException
  • Exception
  • Overview
  • Namespace
  • Class
  • Tree
  • Deprecated
  • Todo
 1:  2:  3:  4:  5:  6:  7:  8:  9: 10: 11: 12: 13: 14: 15: 16: 17: 18: 19: 20: 21: 22: 23: 24: 25: 26: 27: 28: 29: 30: 31: 32: 33: 34: 35: 36: 37: 38: 39: 40: 41: 42: 43: 44: 45: 46: 47: 48: 49: 50: 51: 52: 53: 54: 55: 56: 57: 58: 59: 60: 61: 62: 63: 64: 65: 66: 67: 68: 69: 70: 71: 72: 73: 74: 75: 76: 77: 78: 79: 80: 81: 82: 83: 84: 85: 86: 87: 88: 89: 90: 91: 92: 93: 94: 95: 
<?php

/**
 * TEST: App\IqrfAppModule\Model\IqrfAppParser
 * @covers App\IqrfAppModule\Model\IqrfAppParser
 * @phpVersion >= 5.6
 * @testCase
 */

declare(strict_types=1);

namespace Test\IqrfAppModule\Model;

use App\IqrfAppModule\Model\OsParser;
use Nette\DI\Container;
use Tester\Assert;
use Tester\TestCase;

$container = require __DIR__ . '/../../bootstrap.php';

class OsParserTest extends TestCase {

    /**
     * @var Container
     */
    private $container;

    /**
     * @var OsParser
     */
    private $parser;

    /**
     * @var string OS Read info packet
     */
    private $packetOsInfo = '00.00.02.80.00.00.00.00.05.a4.00.81.38.24.79.08.00.28.00.f0';

    /**
     * @var array Expected OS Read info parsed response
     */
    private $expectedOsInfo = [
        'ModuleId' => '8100A405',
        'OsVersion' => '3.08D',
        'TrType' => 'DCTR-72D',
        'McuType' => 'PIC16F1938',
        'OsBuild' => '7908',
        'Rssi' => -130,
        'SupplyVoltage' => '3.00 V',
        'Flags' => '00',
        'SlotLimits' => 'f0',
    ];

    /**
     * Constructor
     * @param Container $container
     */
    public function __construct(Container $container) {
        $this->container = $container;
    }

    /**
     * Set up test environment
     */
    public function setUp() {
        $this->parser = new OsParser();
    }

    /**
     * @test
     * Test function to parse DPA response
     */
    public function testParse() {
        $array = $this->parser->parse($this->packetOsInfo);
        Assert::equal($this->expectedOsInfo, $array);
    }

    /**
     * @test
     * Test function to parse response to DPA OS - "Read info" request
     */
    public function testParseReadInfo() {
        $array = $this->parser->parseReadInfo($this->packetOsInfo);
        Assert::equal($this->expectedOsInfo, $array);
        $failPacket = preg_replace('/\.24\./', '\.ff\.', $this->packetOsInfo);
        $failArray = $this->parser->parseReadInfo($failPacket);
        $failExpected = $this->expectedOsInfo;
        $failExpected['TrType'] = $failExpected['McuType'] = 'UNKNOWN';
        Assert::equal($failExpected, $failArray);
    }

}

$test = new OsParserTest($container);
$test->run();
IQRF Gateway Daemon webapp API documentation generated by ApiGen