17 require_once
'Fixtures/Testclasses.php';
18 require_once
'Fixtures/ContainerConstructorInjectionTestFixtures.php';
37 $mockedCache = $this->getMock(
'TYPO3\\CMS\\Extbase\\Object\\Container\\ClassInfoCache', array(
'get',
'set'));
38 $mockedCache->expects($this->any())->method(
'get')->will($this->returnValue(FALSE));
39 $mockedCache->expects($this->never())->method(
'has');
40 $this->container = $this->getMock(
'TYPO3\\CMS\\Extbase\\Object\\Container\\Container', array(
'log',
'getClassInfoCache'));
41 $this->container->expects($this->any())->method(
'getClassInfoCache')->will($this->returnValue($mockedCache));
48 $object = $this->container->getInstance(
't3lib_object_tests_c');
49 $this->assertInstanceOf(
't3lib_object_tests_c', $object);
56 $object = $this->container->getInstance(
'TYPO3\\CMS\\Extbase\\Tests\\Unit\\Object\\Container\\Fixtures\\NamespacedClass');
57 $this->assertInstanceOf(
'TYPO3\\CMS\\Extbase\\Tests\\Unit\\Object\\Container\\Fixtures\\NamespacedClass', $object);
64 $object = $this->container->getInstance(
't3lib_object_tests_b');
65 $this->assertInstanceOf(
't3lib_object_tests_b', $object);
66 $this->assertInstanceOf(
't3lib_object_tests_c', $object->c);
73 $object = $this->container->getInstance(
't3lib_object_tests_a');
74 $this->assertInstanceOf(
't3lib_object_tests_a', $object);
75 $this->assertInstanceOf(
't3lib_object_tests_c', $object->b->c);
82 $object = $this->container->getInstance(
't3lib_object_tests_amixed_array');
83 $this->assertInstanceOf(
't3lib_object_tests_amixed_array', $object);
84 $this->assertEquals(array(
'some' =>
'default'), $object->myvalue);
91 $object = $this->container->getInstance(
't3lib_object_tests_amixed_null');
92 $this->assertInstanceOf(
't3lib_object_tests_amixed_null', $object);
93 $this->assertNull($object->myvalue);
101 $this->container->getInstance(
't3lib_object_tests_amixed_array_singleton', array(
'somevalue'));
108 $object = $this->container->getInstance(
't3lib_object_tests_amixed_array');
109 $this->assertInstanceOf(
't3lib_object_tests_b', $object->b);
110 $this->assertInstanceOf(
't3lib_object_tests_c', $object->c);
111 $this->assertEquals(array(
'some' =>
'default'), $object->myvalue);
118 $mockObject = $this->getMock(
't3lib_object_tests_c');
119 $object = $this->container->getInstance(
't3lib_object_tests_a', array($mockObject));
120 $this->assertInstanceOf(
't3lib_object_tests_a', $object);
121 $this->assertSame($mockObject, $object->c);
128 $object1 = $this->container->getInstance(
't3lib_object_tests_a');
129 $object2 = $this->container->getInstance(
't3lib_object_tests_a');
130 $this->assertNotSame($object1, $object2);
137 $object1 = $this->container->getInstance(
't3lib_object_tests_singleton');
138 $object2 = $this->container->getInstance(
't3lib_object_tests_singleton');
139 $this->assertSame($object1, $object2);
147 $this->container->getInstance(
't3lib_object_tests_cyclic1WithSetterDependency');
155 $this->container->getInstance(
't3lib_object_tests_cyclic1');
163 $this->container->getInstance(
'nonextistingclass_bla');
170 $className =
'TYPO3\\CMS\\Extbase\\Tests\\Unit\\Object\\Container\\Fixtures\\NamespacedClass';
171 $classNameHash = md5($className);
172 $mockedCache = $this->getMock(
'TYPO3\\CMS\\Extbase\\Object\\Container\\ClassInfoCache', array(
'has',
'set',
'get'));
173 $container = $this->getMock(
'TYPO3\\CMS\\Extbase\\Object\\Container\\Container', array(
'log',
'getClassInfoCache'));
174 $container->expects($this->any())->method(
'getClassInfoCache')->will($this->returnValue($mockedCache));
175 $mockedCache->expects($this->never())->method(
'has');
176 $mockedCache->expects($this->once())->method(
'get')->with($classNameHash)->will($this->returnValue(FALSE));
177 $mockedCache->expects($this->once())->method(
'set')->with($classNameHash, $this->anything())->will($this->returnCallback(array($this,
'setClassInfoCacheCallback')));
179 $this->assertInstanceOf(
'TYPO3\\CMS\\Extbase\\Object\\Container\\ClassInfo', $this->cachedClassInfo);
180 $this->assertEquals($className, $this->cachedClassInfo->getClassName());
191 $this->cachedClassInfo = $value;
198 $object = $this->container->getEmptyObject(
't3lib_object_tests_c');
199 $this->assertInstanceOf(
't3lib_object_tests_c', $object);
206 $object = $this->container->getEmptyObject(
't3lib_object_tests_initializable');
207 $this->assertTrue($object->isInitialized());
214 $object = $this->container->getEmptyObject(
't3lib_object_tests_serializable');
215 $this->assertInstanceOf(
't3lib_object_tests_serializable', $object);
222 $object = $this->container->getInstance(
't3lib_object_tests_b_child');
223 $this->assertInstanceOf(
't3lib_object_tests_b_child', $object);
230 $this->container->registerImplementation(
't3lib_object_tests_someinterface',
't3lib_object_tests_someimplementation');
231 $object = $this->container->getInstance(
't3lib_object_tests_needsinterface');
232 $this->assertInstanceOf(
't3lib_object_tests_needsinterface', $object);
233 $this->assertInstanceOf(
't3lib_object_tests_someinterface', $object->dependency);
234 $this->assertInstanceOf(
't3lib_object_tests_someimplementation', $object->dependency);
241 $object = $this->container->getInstance(
't3lib_object_tests_resolveablecyclic1');
242 $this->assertInstanceOf(
't3lib_object_tests_resolveablecyclic1', $object);
243 $this->assertInstanceOf(
't3lib_object_tests_resolveablecyclic1', $object->o2->o3->o1);
250 $this->container->expects($this->once())->method(
'log')->with(
'The singleton "t3lib_object_singletonNeedsPrototype" needs a prototype in "injectDependency". This is often a bad code smell; often you rather want to inject a singleton.', 1);
251 $object = $this->container->getInstance(
't3lib_object_singletonNeedsPrototype');
252 $this->assertInstanceOf(
't3lib_object_prototype', $object->dependency);
259 $this->container->expects($this->never())->method(
'log');
260 $object = $this->container->getInstance(
't3lib_object_singletonNeedsSingleton');
261 $this->assertInstanceOf(
't3lib_object_singleton', $object->dependency);
268 $this->container->expects($this->never())->method(
'log');
269 $object = $this->container->getInstance(
't3lib_object_prototypeNeedsPrototype');
270 $this->assertInstanceOf(
't3lib_object_prototype', $object->dependency);
277 $this->container->expects($this->never())->method(
'log');
278 $object = $this->container->getInstance(
't3lib_object_prototypeNeedsSingleton');
279 $this->assertInstanceOf(
't3lib_object_singleton', $object->dependency);
286 $this->container->expects($this->once())->method(
'log')->with(
'The singleton "t3lib_object_singletonNeedsPrototypeInConstructor" needs a prototype in the constructor. This is often a bad code smell; often you rather want to inject a singleton.', 1);
287 $object = $this->container->getInstance(
't3lib_object_singletonNeedsPrototypeInConstructor');
288 $this->assertInstanceOf(
't3lib_object_prototype', $object->dependency);
295 $this->container->expects($this->never())->method(
'log');
296 $object = $this->container->getInstance(
't3lib_object_singletonNeedsSingletonInConstructor');
297 $this->assertInstanceOf(
't3lib_object_singleton', $object->dependency);
304 $this->container->expects($this->never())->method(
'log');
305 $object = $this->container->getInstance(
't3lib_object_prototypeNeedsPrototypeInConstructor');
306 $this->assertInstanceOf(
't3lib_object_prototype', $object->dependency);
313 $this->container->expects($this->never())->method(
'log');
314 $object = $this->container->getInstance(
't3lib_object_prototypeNeedsSingletonInConstructor');
315 $this->assertInstanceOf(
't3lib_object_singleton', $object->dependency);
322 $this->assertTrue($this->container->isSingleton(
'TYPO3\CMS\Extbase\Object\Container\Container'));
323 $this->assertFalse($this->container->isSingleton(
'TYPO3\CMS\Extbase\Core\Bootstrap'));
330 $this->assertFalse($this->container->isPrototype(
'TYPO3\CMS\Extbase\Object\Container\Container'));
331 $this->assertTrue($this->container->isPrototype(
'TYPO3\CMS\Extbase\Core\Bootstrap'));
343 $object = $this->container->getInstance(
344 'TYPO3\\CMS\\Extbase\\Tests\\Unit\\Object\\Container\\Fixtures\\SimpleTypeConstructorArgument',
347 $this->assertTrue($object->foo);
355 $object = $this->container->getInstance(
356 'TYPO3\\CMS\\Extbase\\Tests\\Unit\\Object\\Container\\Fixtures\\SimpleTypeConstructorArgument' 358 $this->assertFalse($object->foo);
367 $object = $this->container->getInstance(
368 'TYPO3\\CMS\\Extbase\\Tests\\Unit\\Object\\Container\\Fixtures\\MandatoryConstructorArgument',
369 array($argumentTestClass)
371 $this->assertInstanceOf(
372 'TYPO3\\CMS\\Extbase\\Tests\\Unit\\Object\\Container\\Fixtures\\MandatoryConstructorArgument',
375 $this->assertSame($argumentTestClass, $object->argumentTestClass);
383 $object = $this->container->getInstance(
384 'TYPO3\\CMS\\Extbase\\Tests\\Unit\\Object\\Container\\Fixtures\\MandatoryConstructorArgument' 386 $this->assertInstanceOf(
387 'TYPO3\\CMS\\Extbase\\Tests\\Unit\\Object\\Container\\Fixtures\\MandatoryConstructorArgument',
390 $this->assertInstanceOf(
391 'TYPO3\\CMS\\Extbase\\Tests\\Unit\\Object\\Container\\Fixtures\\ArgumentTestClass',
392 $object->argumentTestClass
401 $object = $this->container->getInstance(
402 'TYPO3\\CMS\\Extbase\\Tests\\Unit\\Object\\Container\\Fixtures\\OptionalConstructorArgument' 404 $this->assertInstanceOf(
405 'TYPO3\\CMS\\Extbase\\Tests\\Unit\\Object\\Container\\Fixtures\\OptionalConstructorArgument',
408 $this->assertNull($object->argumentTestClass);
416 $object = $this->container->getInstance(
417 'TYPO3\\CMS\\Extbase\\Tests\\Unit\\Object\\Container\\Fixtures\\OptionalConstructorArgument',
420 $this->assertInstanceOf(
421 'TYPO3\\CMS\\Extbase\\Tests\\Unit\\Object\\Container\\Fixtures\\OptionalConstructorArgument',
424 $this->assertNull($object->argumentTestClass);
433 $object = $this->container->getInstance(
434 'TYPO3\\CMS\\Extbase\\Tests\\Unit\\Object\\Container\\Fixtures\\OptionalConstructorArgument',
435 array($argumentTestClass)
437 $this->assertInstanceOf(
438 'TYPO3\\CMS\\Extbase\\Tests\\Unit\\Object\\Container\\Fixtures\\OptionalConstructorArgument',
441 $this->assertSame($argumentTestClass, $object->argumentTestClass);
451 $object = $this->container->getInstance(
452 'TYPO3\\CMS\\Extbase\\Tests\\Unit\\Object\\Container\\Fixtures\\MandatoryConstructorArgumentTwo',
453 array($firstArgument, $secondArgument)
455 $this->assertInstanceOf(
456 'TYPO3\\CMS\\Extbase\\Tests\\Unit\\Object\\Container\\Fixtures\\MandatoryConstructorArgumentTwo',
461 $object->argumentTestClass
465 $object->argumentTestClassTwo
474 $object = $this->container->getInstance(
475 'TYPO3\\CMS\\Extbase\\Tests\\Unit\\Object\\Container\\Fixtures\\MandatoryConstructorArgumentTwo' 477 $this->assertInstanceOf(
478 'TYPO3\\CMS\\Extbase\\Tests\\Unit\\Object\\Container\\Fixtures\\MandatoryConstructorArgumentTwo',
481 $this->assertInstanceOf(
482 'TYPO3\\CMS\\Extbase\\Tests\\Unit\\Object\\Container\\Fixtures\\ArgumentTestClass',
483 $object->argumentTestClass
485 $this->assertInstanceOf(
486 'TYPO3\\CMS\\Extbase\\Tests\\Unit\\Object\\Container\\Fixtures\\ArgumentTestClass',
487 $object->argumentTestClassTwo
489 $this->assertNotSame(
490 $object->argumentTestClass,
491 $object->argumentTestClassTwo
501 $object = $this->container->getInstance(
502 'TYPO3\\CMS\\Extbase\\Tests\\Unit\\Object\\Container\\Fixtures\\MandatoryConstructorArgumentTwo',
503 array($firstArgument)
505 $this->assertInstanceOf(
506 'TYPO3\\CMS\\Extbase\\Tests\\Unit\\Object\\Container\\Fixtures\\MandatoryConstructorArgumentTwo',
511 $object->argumentTestClass
513 $this->assertInstanceOf(
514 'TYPO3\\CMS\\Extbase\\Tests\\Unit\\Object\\Container\\Fixtures\\ArgumentTestClass',
515 $object->argumentTestClassTwo
517 $this->assertNotSame(
518 $object->argumentTestClass,
519 $object->argumentTestClassTwo
529 $object = $this->container->getInstance(
530 'TYPO3\\CMS\\Extbase\\Tests\\Unit\\Object\\Container\\Fixtures\\MandatoryConstructorArgumentTwo',
531 array(NULL, $secondArgument)
533 $this->assertInstanceOf(
534 'TYPO3\\CMS\\Extbase\\Tests\\Unit\\Object\\Container\\Fixtures\\MandatoryConstructorArgumentTwo',
537 $this->assertInstanceOf(
538 'TYPO3\\CMS\\Extbase\\Tests\\Unit\\Object\\Container\\Fixtures\\ArgumentTestClass',
539 $object->argumentTestClass
541 $this->assertInstanceOf(
542 'TYPO3\\CMS\\Extbase\\Tests\\Unit\\Object\\Container\\Fixtures\\ArgumentTestClass',
543 $object->argumentTestClassTwo
547 $object->argumentTestClassTwo
549 $this->assertNotSame(
550 $object->argumentTestClass,
551 $object->argumentTestClassTwo
562 $object = $this->container->getInstance(
563 'TYPO3\\CMS\\Extbase\\Tests\\Unit\\Object\\Container\\Fixtures\\TwoConstructorArgumentsSecondOptional',
564 array($firstArgument, $secondArgument)
566 $this->assertInstanceOf(
567 'TYPO3\\CMS\\Extbase\\Tests\\Unit\\Object\\Container\\Fixtures\\TwoConstructorArgumentsSecondOptional',
572 $object->argumentTestClass
576 $object->argumentTestClassTwo
585 $object = $this->container->getInstance(
586 'TYPO3\\CMS\\Extbase\\Tests\\Unit\\Object\\Container\\Fixtures\\TwoConstructorArgumentsSecondOptional' 588 $this->assertInstanceOf(
589 'TYPO3\\CMS\\Extbase\\Tests\\Unit\\Object\\Container\\Fixtures\\TwoConstructorArgumentsSecondOptional',
592 $this->assertInstanceOf(
593 'TYPO3\\CMS\\Extbase\\Tests\\Unit\\Object\\Container\\Fixtures\\ArgumentTestClass',
594 $object->argumentTestClass
596 $this->assertNull($object->argumentTestClassTwo);
604 $object = $this->container->getInstance(
605 'TYPO3\\CMS\\Extbase\\Tests\\Unit\\Object\\Container\\Fixtures\\TwoConstructorArgumentsSecondOptional',
608 $this->assertInstanceOf(
609 'TYPO3\\CMS\\Extbase\\Tests\\Unit\\Object\\Container\\Fixtures\\TwoConstructorArgumentsSecondOptional',
612 $this->assertInstanceOf(
613 'TYPO3\\CMS\\Extbase\\Tests\\Unit\\Object\\Container\\Fixtures\\ArgumentTestClass',
614 $object->argumentTestClass
616 $this->assertNull($object->argumentTestClassTwo);
625 $object = $this->container->getInstance(
626 'TYPO3\\CMS\\Extbase\\Tests\\Unit\\Object\\Container\\Fixtures\\TwoConstructorArgumentsSecondOptional',
627 array($firstArgument)
629 $this->assertInstanceOf(
630 'TYPO3\\CMS\\Extbase\\Tests\\Unit\\Object\\Container\\Fixtures\\TwoConstructorArgumentsSecondOptional',
635 $object->argumentTestClass
637 $this->assertNull($object->argumentTestClassTwo);
646 $object = $this->container->getInstance(
647 'TYPO3\\CMS\\Extbase\\Tests\\Unit\\Object\\Container\\Fixtures\\TwoConstructorArgumentsSecondOptional',
648 array($firstArgument, NULL)
650 $this->assertInstanceOf(
651 'TYPO3\\CMS\\Extbase\\Tests\\Unit\\Object\\Container\\Fixtures\\TwoConstructorArgumentsSecondOptional',
656 $object->argumentTestClass
658 $this->assertNull($object->argumentTestClassTwo);
667 $object = $this->container->getInstance(
668 'TYPO3\\CMS\\Extbase\\Tests\\Unit\\Object\\Container\\Fixtures\\TwoConstructorArgumentsFirstOptional',
671 $this->assertInstanceOf(
672 'TYPO3\\CMS\\Extbase\\Tests\\Unit\\Object\\Container\\Fixtures\\TwoConstructorArgumentsFirstOptional',
675 $this->assertInstanceOf(
676 'TYPO3\\CMS\\Extbase\\Tests\\Unit\\Object\\Container\\Fixtures\\ArgumentTestClass',
677 $object->argumentTestClassTwo
688 $object = $this->container->getInstance(
689 'TYPO3\\CMS\\Extbase\\Tests\\Unit\\Object\\Container\\Fixtures\\TwoConstructorArgumentsFirstOptional',
690 array($first, $second)
692 $this->assertInstanceOf(
693 'TYPO3\\CMS\\Extbase\\Tests\\Unit\\Object\\Container\\Fixtures\\TwoConstructorArgumentsFirstOptional',
698 $object->argumentTestClass
702 $object->argumentTestClassTwo
712 $object = $this->container->getInstance(
713 'TYPO3\\CMS\\Extbase\\Tests\\Unit\\Object\\Container\\Fixtures\\TwoConstructorArgumentsFirstOptional',
716 $this->assertInstanceOf(
717 'TYPO3\\CMS\\Extbase\\Tests\\Unit\\Object\\Container\\Fixtures\\TwoConstructorArgumentsFirstOptional',
722 $object->argumentTestClass
724 $this->assertInstanceOf(
725 'TYPO3\\CMS\\Extbase\\Tests\\Unit\\Object\\Container\\Fixtures\\ArgumentTestClass',
726 $object->argumentTestClassTwo
728 $this->assertNotSame(
729 $object->argumentTestClass,
730 $object->argumentTestClassTwo
741 $object = $this->container->getInstance(
742 'TYPO3\\CMS\\Extbase\\Tests\\Unit\\Object\\Container\\Fixtures\\TwoConstructorArgumentsFirstOptional',
745 $this->assertInstanceOf(
746 'TYPO3\\CMS\\Extbase\\Tests\\Unit\\Object\\Container\\Fixtures\\TwoConstructorArgumentsFirstOptional',
751 $object->argumentTestClassTwo
761 $object = $this->container->getInstance(
762 'TYPO3\\CMS\\Extbase\\Tests\\Unit\\Object\\Container\\Fixtures\\TwoConstructorArgumentsFirstOptional',
765 $this->assertInstanceOf(
766 'TYPO3\\CMS\\Extbase\\Tests\\Unit\\Object\\Container\\Fixtures\\TwoConstructorArgumentsFirstOptional',
769 $this->assertInstanceOf(
770 'TYPO3\\CMS\\Extbase\\Tests\\Unit\\Object\\Container\\Fixtures\\ArgumentTestClass',
771 $object->argumentTestClassTwo
782 $object = $this->container->getInstance(
783 'TYPO3\\CMS\\Extbase\\Tests\\Unit\\Object\\Container\\Fixtures\\TwoConstructorArgumentsBothOptional',
784 array($first, $second)
786 $this->assertInstanceOf(
787 'TYPO3\\CMS\\Extbase\\Tests\\Unit\\Object\\Container\\Fixtures\\TwoConstructorArgumentsBothOptional',
792 $object->argumentTestClass
796 $object->argumentTestClassTwo
805 $object = $this->container->getInstance(
806 'TYPO3\\CMS\\Extbase\\Tests\\Unit\\Object\\Container\\Fixtures\\TwoConstructorArgumentsBothOptional',
809 $this->assertInstanceOf(
810 'TYPO3\\CMS\\Extbase\\Tests\\Unit\\Object\\Container\\Fixtures\\TwoConstructorArgumentsBothOptional',
813 $this->assertNull($object->argumentTestClass);
814 $this->assertNull($object->argumentTestClassTwo);
822 $object = $this->container->getInstance(
823 'TYPO3\\CMS\\Extbase\\Tests\\Unit\\Object\\Container\\Fixtures\\TwoConstructorArgumentsBothOptional');
824 $this->assertInstanceOf(
825 'TYPO3\\CMS\\Extbase\\Tests\\Unit\\Object\\Container\\Fixtures\\TwoConstructorArgumentsBothOptional',
828 $this->assertNull($object->argumentTestClass);
829 $this->assertNull($object->argumentTestClassTwo);
838 $object = $this->container->getInstance(
839 'TYPO3\\CMS\\Extbase\\Tests\\Unit\\Object\\Container\\Fixtures\\TwoConstructorArgumentsBothOptional',
842 $this->assertInstanceOf(
843 'TYPO3\\CMS\\Extbase\\Tests\\Unit\\Object\\Container\\Fixtures\\TwoConstructorArgumentsBothOptional',
848 $object->argumentTestClass
850 $this->assertNull($object->argumentTestClassTwo);
859 $object = $this->container->getInstance(
860 'TYPO3\\CMS\\Extbase\\Tests\\Unit\\Object\\Container\\Fixtures\\TwoConstructorArgumentsBothOptional',
863 $this->assertInstanceOf(
864 'TYPO3\\CMS\\Extbase\\Tests\\Unit\\Object\\Container\\Fixtures\\TwoConstructorArgumentsBothOptional',
869 $object->argumentTestClass
871 $this->assertNull($object->argumentTestClassTwo);
880 $object = $this->container->getInstance(
881 'TYPO3\\CMS\\Extbase\\Tests\\Unit\\Object\\Container\\Fixtures\\TwoConstructorArgumentsBothOptional',
884 $this->assertInstanceOf(
885 'TYPO3\\CMS\\Extbase\\Tests\\Unit\\Object\\Container\\Fixtures\\TwoConstructorArgumentsBothOptional',
888 $this->assertNull($object->argumentTestClass);
891 $object->argumentTestClassTwo
getInstanceOnTwoOptionalGivesNoArgumentsToConstructorIfNoneAreGiven()
getEmptyObjectInitializesObjects()
getInstanceOnTwoOptionalGivesOneArgumentToConstructorIfFirstIsObjectAndSecondIsNotGiven()
getInstanceInjectsSecondMandatoryArgumentIfFirstIsGiven()
getInstanceGivesTwoArgumentsToClassConstructor()
prototypeWhichRequiresPrototypeViaSetterInjectionWorks()
getInstanceReturnsInstanceOfSimpleClass()
getInstanceOnTwoOptionalGivesOneArgumentToConstructorIfFirstIsNullAndSecondIsObject()
setClassInfoCacheCallback($id, \TYPO3\CMS\Extbase\Object\Container\ClassInfo $value)
getInstanceReturnsAFreshInstanceIfObjectIsNoSingleton()
getInstanceGivesExistingConstructorArgumentToClassInstance()
getInstanceOnFirstOptionalAndSecondMandatoryInjectsSecondArgumentIfFirstIsGivenAsNull()
getInstanceInjectsTwoMandatoryArguments()
getInstanceDoesNotInfluenceSimpleTypeConstructorArgumentIfNotGiven()
getInstanceOnTwoOptionalGivesNoArgumentsToConstructorIfArgumentsAreNull()
getInstanceOnFirstOptionalAndSecondMandatoryGivesSecondArgumentAsIsIfFirstIsGivenAsNullAndSecondIsGiven()
getInstanceGivesTwoArgumentsToClassConstructorIfSecondIsOptional()
singletonWhichRequiresSingletonViaConstructorInjectionWorks()
getInstanceDoesNotInjectAnOptionalArgumentIfNotGiven()
getInstanceReturnsInstanceOfAClassWithConstructorInjectionAndDefaultConstructorParameters()
getInstanceReturnsInstanceOfAClassWithMixedSimpleTypeAndConstructorInjection()
isPrototypeReturnsFalseForSingletonInstancesAndTrueForPrototypes()
getEmptyObjectReturnsInstanceOfClassImplementingSerializable()
getInstanceDoesNotInjectAnOptionalArgumentIfGivenArgumentIsNull()
singletonWhichRequiresPrototypeViaConstructorInjectionWorksAndAddsDebugMessage()
getInstanceGivesFirstArgumentToConstructorIfSecondIsOptionalFirstIsGivenAndSecondIsGivenNull()
getInstanceOnTwoOptionalGivesTwoGivenArgumentsToConstructor()
getInstanceThrowsExceptionIfClassWasNotFound()
getInstanceReturnsInstanceOfAClassWithMixedSimpleTypeAndConstructorInjectionWithNullDefaultValue()
getInstanceOnFirstOptionalAndSecondMandatoryInjectsSecondArgumentIfFirstIsGiven()
getInstanceOnTwoOptionalGivesOneArgumentToConstructorIfFirstIsObjectAndSecondIsNull()
getInstanceUsesClassNameMd5AsCacheKey()
getInstancePassesGivenParameterToTheNewObject()
getInstanceReturnsSameInstanceInstanceIfObjectIsSingleton()
test_canInjectInterfaceInClass()
getInstanceThrowsExceptionIfPrototypeObjectsWiredViaConstructorInjectionContainCyclicDependencies()
getInstanceOnFirstOptionalAndSecondMandatoryInjectsSecondArgumentIfFirstIsGivenAsNullAndSecondIsNull()
getInstanceInjectsFirstMandatoryArgumentIfSecondIsOptionalAndNoneAreGiven()
singletonWhichRequiresPrototypeViaSetterInjectionWorksAndAddsDebugMessage()
getInstanceThrowsExceptionIfPrototypeObjectsWiredViaSetterInjectionContainCyclicDependencies()
getInstanceGivesExistingConstructorArgumentToClassInstanceIfArgumentIsGiven()
getEmptyObjectReturnsInstanceOfSimpleClass()
prototypeWhichRequiresSingletonViaConstructorInjectionWorks()
singletonWhichRequiresSingletonViaSetterInjectionWorks()
isSingletonReturnsTrueForSingletonInstancesAndFalseForPrototypes()
getInstanceReturnsInstanceOfAClassWithConstructorInjection()
getInstanceOnFirstOptionalAndSecondMandatoryGivesTwoGivenArgumentsToConstructor()
getInstanceReturnsInstanceOfSimpleNamespacedClass()
test_canBuildCyclicDependenciesOfSingletonsWithSetter()
getInstanceInjectsFirstMandatoryArgumentIfSecondIsGiven()
getInstanceInjectsFirstMandatoryArgumentIfSecondIsOptionalAndBothAreGivenAsNull()
getInstanceInjectsNewInstanceOfClassToClassIfArgumentIsMandatory()
getInstanceReturnsInstanceOfAClassWithTwoLevelDependency()
getInstanceGivesFirstArgumentToConstructorIfSecondIsOptionalAndFirstIsGiven()
prototypeWhichRequiresPrototypeViaConstructorInjectionWorks()
getInstanceGivesSimpleConstructorArgumentToClassInstance()
prototypeWhichRequiresSingletonViaSetterInjectionWorks()
getInstanceThrowsExceptionWhenTryingToInstanciateASingletonWithConstructorParameters()