phpmock\environment\SleepEnvironmentBuilder::build PHP Method

build() public method

Builds a sleep(), usleep(), date(), time() and microtime() mock environment.
public build ( ) : MockEnvironment
return MockEnvironment
    public function build()
    {
        $environment = new MockEnvironment();
        $builder = new MockBuilder();
        $incrementables = [];
        foreach ($this->namespaces as $namespace) {
            $builder->setNamespace($namespace);
            // microtime() mock
            $microtime = new FixedMicrotimeFunction($this->timestamp);
            $builder->setName("microtime")->setFunctionProvider($microtime);
            $environment->addMock($builder->build());
            // time() mock
            $builder->setName("time")->setFunction([$microtime, "getTime"]);
            $environment->addMock($builder->build());
            // date() mock
            $date = new FixedDateFunction($this->timestamp);
            $builder->setName("date")->setFunctionProvider($date);
            $environment->addMock($builder->build());
            $incrementables[] = $microtime;
            $incrementables[] = $date;
        }
        // Need a complete list of $incrementables.
        foreach ($this->namespaces as $namespace) {
            $builder->setNamespace($namespace);
            // sleep() mock
            $builder->setName("sleep")->setFunctionProvider(new SleepFunction($incrementables));
            $environment->addMock($builder->build());
            // usleep() mock
            $builder->setName("usleep")->setFunctionProvider(new UsleepFunction($incrementables));
            $environment->addMock($builder->build());
        }
        return $environment;
    }

Usage Example

 protected function setUp()
 {
     $builder = new SleepEnvironmentBuilder();
     $builder->addNamespace(__NAMESPACE__)->addNamespace("bandwidthThrottle\\tokenBucket\\converter")->setTimestamp(1417011228);
     $this->sleepEnvironent = $builder->build();
     $this->sleepEnvironent->enable();
 }
All Usage Examples Of phpmock\environment\SleepEnvironmentBuilder::build