@@ -170,7 +170,7 @@ public function testGetResourceClassWithChildResource()
170170
171171 $ resourceClassResolver = new ResourceClassResolver ($ resourceNameCollectionFactoryProphecy ->reveal ());
172172
173- $ this ->assertEquals (DummyTableInheritanceChild ::class, $ resourceClassResolver ->getResourceClass ($ t , DummyTableInheritance::class));
173+ $ this ->assertEquals (DummyTableInheritance ::class, $ resourceClassResolver ->getResourceClass ($ t , DummyTableInheritance::class));
174174 }
175175
176176 public function testGetResourceClassWithInterfaceResource ()
@@ -183,4 +183,33 @@ public function testGetResourceClassWithInterfaceResource()
183183 $ resourceClassResolver = new ResourceClassResolver ($ resourceNameCollectionFactoryProphecy ->reveal ());
184184 $ resourceClassResolver ->getResourceClass ($ dummy , DummyResourceInterface::class, true );
185185 }
186+
187+ public function testGetResourceClassWithoutSecondParameterIsAccurate ()
188+ {
189+ $ dummy = new DummyResourceImplementation ();
190+ $ resourceNameCollectionFactoryProphecy = $ this ->prophesize (ResourceNameCollectionFactoryInterface::class);
191+ $ resourceNameCollectionFactoryProphecy ->create ()->willReturn (new ResourceNameCollection ([DummyResourceInterface::class]))->shouldBeCalled ();
192+
193+ $ resourceClassResolver = new ResourceClassResolver ($ resourceNameCollectionFactoryProphecy ->reveal ());
194+ $ this ->assertEquals (DummyResourceInterface::class, $ resourceClassResolver ->getResourceClass ($ dummy ));
195+ }
196+
197+ public function testGetResourceInterfaceWithResourceClassParameterReturnTheResouceClass ()
198+ {
199+ $ dummy = new DummyResourceImplementation ();
200+ $ resourceNameCollectionFactoryProphecy = $ this ->prophesize (ResourceNameCollectionFactoryInterface::class);
201+ $ resourceNameCollectionFactoryProphecy ->create ()->willReturn (new ResourceNameCollection ([DummyResourceInterface::class]))->shouldBeCalled ();
202+
203+ $ resourceClassResolver = new ResourceClassResolver ($ resourceNameCollectionFactoryProphecy ->reveal ());
204+ $ this ->assertEquals (DummyResourceInterface::class, $ resourceClassResolver ->getResourceClass ($ dummy , DummyResourceInterface::class));
205+ }
206+
207+ public function testInterfaceCanBeResourceClass ()
208+ {
209+ $ resourceNameCollectionFactoryProphecy = $ this ->prophesize (ResourceNameCollectionFactoryInterface::class);
210+ $ resourceNameCollectionFactoryProphecy ->create ()->willReturn (new ResourceNameCollection ([DummyResourceInterface::class]))->shouldBeCalled ();
211+
212+ $ resourceClassResolver = new ResourceClassResolver ($ resourceNameCollectionFactoryProphecy ->reveal ());
213+ $ this ->assertTrue ($ resourceClassResolver ->isResourceClass (DummyResourceImplementation::class));
214+ }
186215}
0 commit comments