blainesch/magicoracle

A proxy class developed for unit testing that makes all methods and properties public to you.

v1.0.0 2012-08-24 23:35 UTC

This package is not auto-updated.

Last update: 2024-04-21 01:23:33 UTC


README

A proxy class developed for unit testing that makes all methods and properties public to you.

Build Status

Basic Example

<?php
// Library
include('../magicOracle/src/Oracle.php');

// Namespace
use magicOracle\src\Oracle as Oracle;

// Mock Class
class Foo {
	public $publicProperty;
	private $privateProperty;
	protected $protectedProperty;
	public function __construct() {
		$this->publicProperty = 'foo';
		$this->privateProperty = 'bar';
		$this->protectedProperty = 'baz';
	}
	public function publicMethod($words) {
		return $words;
	}
	private function privateMethod() {
		return $this->publicProperty;
	}
}

// new class
$fooBar = new Oracle('Foo');

// Call private method
echo $fooBar->privateMethod(); // 'foo';

// Echo protected variable
echo $fooBar->protectedProperty; // 'baz';

// Set and echo protected variable
echo $fooBar->privateProperty; //  'bar';
$fooBar->privateProperty = 'BlaineSch';
echo $fooBar->privateProperty; // BlaineSch

Constructing Oracle

With class name

$fooBar = new Oracle('Foo');

With class name and args

$fooBar = new Oracle('Foo', array('arg1', 'arg2'));

With object

$foo = new Foo('arg1', 'arg2');
$fooBar = new Oracle($foo);

Requirements

Contributing

Requirements

Unit Testing

cd magicOracle
phpunit ./
PHPUnit 3.6.12 by Sebastian Bergmann.

Configuration read from /Users/blaineschmeisser/Sites/devup/magicOracle/phpunit.xml

......

Time: 0 seconds, Memory: 5.00Mb

OK (6 tests, 9 assertions)