Inheritance: implements Nelmio\Alice\Definition\MethodCallInterface
コード例 #1
0
 public function testCanCreateANewInstanceWithArguments()
 {
     $methodCall = new SimpleMethodCall('getUsername', null);
     $definition = new OptionalMethodCall($methodCall, new OptionalFlag(30));
     $newArguments = [$arg0 = new \stdClass()];
     $newDefinition = $definition->withArguments($newArguments);
     // Mutate arguments before reading it
     $arg0->foo = 'bar';
     $this->assertInstanceOf(OptionalMethodCall::class, $newDefinition);
     $this->assertEquals($methodCall->getCaller(), $definition->getCaller());
     $this->assertEquals(30, $definition->getPercentage());
     $this->assertEquals($methodCall->getMethod(), $definition->getMethod());
     $this->assertEquals($methodCall->getArguments(), $definition->getArguments());
     $this->assertEquals($methodCall->getCaller(), $newDefinition->getCaller());
     $this->assertEquals(30, $newDefinition->getPercentage());
     $this->assertEquals($methodCall->getMethod(), $newDefinition->getMethod());
     $this->assertEquals([StdClassFactory::create(['foo' => 'bar'])], $newDefinition->getArguments());
 }
コード例 #2
0
ファイル: SimpleMethodCallTest.php プロジェクト: nelmio/alice
 public function testCanCreateANewInstanceWithArguments()
 {
     $method = 'setUsername';
     $arguments = null;
     $definition = new SimpleMethodCall($method, $arguments);
     $newArguments = [$arg0 = new \stdClass()];
     $newDefinition = $definition->withArguments($newArguments);
     // Mutate before reading values
     $arg0->foo = 'bar';
     $this->assertInstanceOf(SimpleMethodCall::class, $newDefinition);
     $this->assertNull($definition->getCaller());
     $this->assertEquals($method, $definition->getMethod());
     $this->assertEquals($arguments, $definition->getArguments());
     $this->assertEquals($method, $definition->__toString());
     $this->assertNull($newDefinition->getCaller());
     $this->assertEquals($method, $newDefinition->getMethod());
     $this->assertEquals([StdClassFactory::create(['foo' => 'bar'])], $newDefinition->getArguments());
     $this->assertEquals($method, $newDefinition->__toString());
 }