AbstractSchemaTest.php 4.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107
  1. <?php
  2. /**
  3. * File AbstractSchemaTest.php
  4. *
  5. * @author Edward Pfremmer <epfremme@nerdery.com>
  6. */
  7. namespace Epfremme\Swagger\Tests\Entity\Schemas;
  8. use Epfremme\Swagger\Entity\ExternalDocumentation;
  9. use Epfremme\Swagger\Entity\Schemas\AbstractSchema;
  10. /**
  11. * Class AbstractSchemaTest
  12. *
  13. * @package Epfremme\Swagger
  14. * @subpackage Tests\Entity\Schemas
  15. */
  16. class AbstractSchemaTest extends \PHPUnit_Framework_TestCase
  17. {
  18. /**
  19. * @var AbstractSchema|\PHPUnit_Framework_MockObject_MockObject
  20. */
  21. protected $mockSchema;
  22. /**
  23. * {@inheritdoc}
  24. */
  25. protected function setUp()
  26. {
  27. $this->mockSchema = $this->getMockForAbstractClass(AbstractSchema::class);
  28. }
  29. /**
  30. * @covers Epfremme\Swagger\Entity\Schemas\AbstractSchema::getDefault
  31. * @covers Epfremme\Swagger\Entity\Schemas\AbstractSchema::setDefault
  32. */
  33. public function testDefault()
  34. {
  35. $this->assertClassHasAttribute('default', AbstractSchema::class);
  36. $this->assertInstanceOf(AbstractSchema::class, $this->mockSchema->setDefault('foo'));
  37. $this->assertAttributeEquals('foo', 'default', $this->mockSchema);
  38. $this->assertEquals('foo', $this->mockSchema->getDefault());
  39. }
  40. /**
  41. * @covers Epfremme\Swagger\Entity\Schemas\AbstractSchema::getFormat
  42. * @covers Epfremme\Swagger\Entity\Schemas\AbstractSchema::setFormat
  43. */
  44. public function testFormat()
  45. {
  46. $this->assertClassHasAttribute('format', AbstractSchema::class);
  47. $this->assertInstanceOf(AbstractSchema::class, $this->mockSchema->setFormat('foo'));
  48. $this->assertAttributeEquals('foo', 'format', $this->mockSchema);
  49. $this->assertEquals('foo', $this->mockSchema->getFormat());
  50. }
  51. /**
  52. * @covers Epfremme\Swagger\Entity\Schemas\AbstractSchema::getTitle
  53. * @covers Epfremme\Swagger\Entity\Schemas\AbstractSchema::setTitle
  54. */
  55. public function testTitle()
  56. {
  57. $this->assertClassHasAttribute('title', AbstractSchema::class);
  58. $this->assertInstanceOf(AbstractSchema::class, $this->mockSchema->setTitle('foo'));
  59. $this->assertAttributeEquals('foo', 'title', $this->mockSchema);
  60. $this->assertEquals('foo', $this->mockSchema->getTitle());
  61. }
  62. /**
  63. * @covers Epfremme\Swagger\Entity\Schemas\AbstractSchema::getDescription
  64. * @covers Epfremme\Swagger\Entity\Schemas\AbstractSchema::setDescription
  65. */
  66. public function testDescription()
  67. {
  68. $this->assertClassHasAttribute('description', AbstractSchema::class);
  69. $this->assertInstanceOf(AbstractSchema::class, $this->mockSchema->setDescription('foo'));
  70. $this->assertAttributeEquals('foo', 'description', $this->mockSchema);
  71. $this->assertEquals('foo', $this->mockSchema->getDescription());
  72. }
  73. /**
  74. * @covers Epfremme\Swagger\Entity\Schemas\AbstractSchema::getExample
  75. * @covers Epfremme\Swagger\Entity\Schemas\AbstractSchema::setExample
  76. */
  77. public function testExample()
  78. {
  79. $this->assertClassHasAttribute('example', AbstractSchema::class);
  80. $this->assertInstanceOf(AbstractSchema::class, $this->mockSchema->setExample('foo'));
  81. $this->assertAttributeEquals('foo', 'example', $this->mockSchema);
  82. $this->assertEquals('foo', $this->mockSchema->getExample());
  83. }
  84. /**
  85. * @covers Epfremme\Swagger\Entity\Schemas\AbstractSchema::getExternalDocs
  86. * @covers Epfremme\Swagger\Entity\Schemas\AbstractSchema::setExternalDocs
  87. */
  88. public function testExternalDocs()
  89. {
  90. $externalDocs = new ExternalDocumentation();
  91. $this->assertClassHasAttribute('externalDocs', AbstractSchema::class);
  92. $this->assertInstanceOf(AbstractSchema::class, $this->mockSchema->setExternalDocs($externalDocs));
  93. $this->assertAttributeInstanceOf(ExternalDocumentation::class, 'externalDocs', $this->mockSchema);
  94. $this->assertAttributeEquals($externalDocs, 'externalDocs', $this->mockSchema);
  95. $this->assertEquals($externalDocs, $this->mockSchema->getExternalDocs());
  96. }
  97. }