<?php
use MiotApi\Contract\Specification\ServiceSpecification;
class ServiceSpecificationTest extends PHPUnit_Framework_TestCase
{
private $service;
public function testInit()
{
$urn = 'urn:miot-spec-v2:service:light:00007802';
$this->service = new ServiceSpecification($urn);
$this->assertEquals('urn:miot-spec-v2:service:light:00007802', $this->service->getType());
}
public function testGetRequiredActions()
{
$urn = 'urn:miot-spec-v2:service:vacuum:00007810';
$this->service = new ServiceSpecification($urn);
foreach ($this->service->getRequiredActions() as $requiredAction) {
$this->assertInstanceOf(\MiotApi\Contract\Specification\ActionSpecification::class, $requiredAction);
}
}
public function testGetOptionalActions()
{
$urn = 'urn:miot-spec-v2:service:battery:00007805';
$this->service = new ServiceSpecification($urn);
foreach ($this->service->getOptionalActions() as $optionalAction) {
$this->assertInstanceOf(\MiotApi\Contract\Specification\ActionSpecification::class, $optionalAction);
}
}
public function testGetRequiredEvents()
{
}
public function testGetOptionalEvents()
{
}
public function testGetRequiredProperties()
{
$urn = 'urn:miot-spec-v2:service:battery:00007805';
$this->service = new ServiceSpecification($urn);
foreach ($this->service->getRequiredProperties() as $requiredProperty) {
$this->assertInstanceOf(\MiotApi\Contract\Specification\PropertySpecification::class, $requiredProperty);
}
}
public function testGetOptionalProperties()
{
$urn = 'urn:miot-spec-v2:service:battery:00007805';
$this->service = new ServiceSpecification($urn);
foreach ($this->service->getOptionalProperties() as $optionalProperty) {
$this->assertInstanceOf(\MiotApi\Contract\Specification\PropertySpecification::class, $optionalProperty);
}
}
}