PluginProbe ʕ •ᴥ•ʔ
Presto Player / 4.3.3
Presto Player v4.3.3
4.4.0 4.3.3 4.3.2 4.3.1 4.3.0 4.2.4 4.2.3 4.2.2 4.2.0 4.2.1 trunk 1.10.0 1.10.1 1.10.2 1.11.0 1.12.0 1.13.0 1.14.0 1.14.1 1.5.10 1.5.11 1.5.12 1.5.13 1.5.14 1.5.15 1.5.5 1.5.6 1.5.7 1.5.8 1.5.9 1.6.0 1.6.1 1.6.10 1.6.11 1.6.12 1.6.13 1.6.2 1.6.3 1.6.4 1.6.5 1.6.6 1.6.7 1.6.8 1.6.9 1.7.0 1.7.1 1.7.2 1.8.0 1.8.1 1.8.2 1.8.3 1.8.4 1.8.5 1.8.6 1.9.0 1.9.1 1.9.10 1.9.11 1.9.12 1.9.13 1.9.14 1.9.2 1.9.3 1.9.4 1.9.5 1.9.6 1.9.7 1.9.8 1.9.9 2.0.0 2.0.1 2.0.10 2.0.11 2.0.12 2.0.13 2.0.14 2.0.15 2.0.16 2.0.2 2.0.3 2.0.4 2.0.5 2.0.6 2.0.7 2.0.8 2.0.9 2.1.0 2.2.0 2.2.1 2.2.2 2.2.3 2.2.3-beta1 2.3.0 2.3.1 2.3.2 2.3.3 3.0.0 3.0.0-beta1 3.0.1 3.0.2 3.0.3 3.0.4 3.0.5 3.0.6 3.0.7 3.0.8 3.1.0 3.1.1 3.1.2 3.1.3 4.0.0 4.0.1 4.0.2 4.0.3 4.0.4 4.0.5 4.0.6 4.0.7 4.0.8 4.1.0 4.1.1 4.1.2 4.1.3 4.1.4
presto-player / vendor / level-2 / dice / tests / CreateArgsTest.php
presto-player / vendor / level-2 / dice / tests Last commit date
TestData 2 years ago BasicTest.php 5 years ago CallTest.php 5 years ago ChainTest.php 5 years ago ConstructParamsTest.php 5 years ago CreateArgsTest.php 5 years ago DiceTest.php 5 years ago NamedInstancesTest.php 5 years ago NamespaceTest.php 5 years ago ShareInstancesTest.php 2 years ago SubstitutionsTest.php 5 years ago bootstrap.php 5 years ago
CreateArgsTest.php
86 lines
1 <?php
2 /* @description Dice - A minimal Dependency Injection Container for PHP *
3 * @author Tom Butler tom@r.je *
4 * @copyright 2012-2018 Tom Butler <tom@r.je> | https:// r.je/dice.html *
5 * @license http:// www.opensource.org/licenses/bsd-license.php BSD License *
6 * @version 3.0 */
7 class CreateArgsTest extends DiceTest {
8
9 public function testConsumeArgs() {
10 $rule = [];
11 $rule['constructParams'] = ['A'];
12 $dice = $this->dice->addRule('ConsumeArgsSub', $rule);
13 $foo = $dice->create('ConsumeArgsTop',['B']);
14
15 $this->assertEquals('A', $foo->a->s);
16 }
17
18
19 public function testConstructArgs() {
20 $obj = $this->dice->create('RequiresConstructorArgsA', array('foo', 'bar'));
21 $this->assertEquals($obj->foo, 'foo');
22 $this->assertEquals($obj->bar, 'bar');
23 }
24
25 public function testConstructArgsMixed() {
26 $obj = $this->dice->create('RequiresConstructorArgsB', array('foo', 'bar'));
27 $this->assertEquals($obj->foo, 'foo');
28 $this->assertEquals($obj->bar, 'bar');
29 $this->assertInstanceOf('A', $obj->a);
30 }
31
32 public function testCreateArgs1() {
33 $a = $this->dice->create('A', array($this->dice->create('ExtendedB')));
34 $this->assertInstanceOf('ExtendedB', $a->b);
35 }
36
37
38 public function testCreateArgs2() {
39 $a2 = $this->dice->create('A2', array($this->dice->create('ExtendedB'), 'Foo'));
40 $this->assertInstanceOf('B', $a2->b);
41 $this->assertInstanceOf('C', $a2->c);
42 $this->assertEquals($a2->foo, 'Foo');
43 }
44
45
46 public function testCreateArgs3() {
47 //reverse order args. It should be smart enough to handle this.
48 $a2 = $this->dice->create('A2', array('Foo', $this->dice->create('ExtendedB')));
49 $this->assertInstanceOf('B', $a2->b);
50 $this->assertInstanceOf('C', $a2->c);
51 $this->assertEquals($a2->foo, 'Foo');
52 }
53
54 public function testCreateArgs4() {
55 $a2 = $this->dice->create('A3', array('Foo', $this->dice->create('ExtendedB')));
56 $this->assertInstanceOf('B', $a2->b);
57 $this->assertInstanceOf('C', $a2->c);
58 $this->assertEquals($a2->foo, 'Foo');
59 }
60
61 public function testBestMatch() {
62 $bestMatch = $this->dice->create('BestMatch', array('foo', $this->dice->create('A')));
63 $this->assertEquals('foo', $bestMatch->string);
64 $this->assertInstanceOf('A', $bestMatch->a);
65 }
66
67 public function testTwoDefaultNullClass() {
68 $obj = $this->dice->create('MethodWithTwoDefaultNullC');
69 $this->assertNull($obj->a);
70 $this->assertInstanceOf('NB',$obj->b);
71 }
72
73 public function testTwoDefaultNullClassClass() {
74 $obj = $this->dice->create('MethodWithTwoDefaultNullCC');
75 $this->assertNull($obj->a);
76 $this->assertInstanceOf('NB',$obj->b);
77 $this->assertInstanceOf('NC',$obj->c);
78 }
79
80 public function testScalarConstructorArgs() {
81 $obj = $this->dice->create('ScalarConstructors', ['string', null]);
82 $this->assertEquals('string', $obj->string);
83 $this->assertEquals(null, $obj->null);
84 }
85
86 }