Skip to content

Instantly share code, notes, and snippets.

View maks-rafalko's full-sized avatar

Maks Rafalko maks-rafalko

View GitHub Profile
- public function __invoke(array $collection)
+ public function __invoke(array $collection): array
@maks-rafalko
maks-rafalko / filter.php
Created September 28, 2017 20:23
Filter object
<?php
class UserFilterAge
{
const AGE_THRESHOLD = 18;
public function __invoke(array $collection)
{
return array_filter(
$collection,
function (array $item) {
@maks-rafalko
maks-rafalko / first-mutation.diff
Created September 28, 2017 20:25
Medium: first mutation
class UserFilterAge
{
const AGE_THRESHOLD = 18;
public function __invoke(array $collection)
{
return array_filter(
$collection,
function (array $item) {
- return $item['age'] >= self::AGE_THRESHOLD;
- $c = $a + b;
+ $c = $a - b;
<?php
public function test_it_filters_adults()
{
$filter = new UserFilterAge();
$users = [
['age' => 20],
['age' => 15],
];
<?php
/**
* @dataProvider usersProvider
*/
public function test_it_filters_adults(array $users, int $expectedCount)
{
$filter = new UserFilterAge();
$this->assertCount($expectedCount, $filter($users));
class UserFilterAge
{
const AGE_THRESHOLD = 18;
public function __invoke(array $collection)
{
- return array_filter(
+ array_filter(
$collection,
function (array $item) {
public function calculateExpectedValueAt(DateTimeInterface $date)
{
$diffInDays = (int) $this->startedAt->diff($date)->format('%a');
$multiplier = $this->initialValue < $this->targetValue ? 1 : -1;
$initialAveragePerDay = $this->calculateInitialAveragePerDay();
- return $this->initialValue + ($initialAveragePerDay * $diffInDays * $multiplier);
+ return $this->initialValue + ($initialAveragePerDay * $diffInDays / $multiplier);
}
<?php
class Plus implements Mutator
{
public function mutate(Node $node)
{
return new BinaryOp\Minus($node->left, $node->right, $node->getAttributes());
}
public function shouldMutate(Node $node) : bool
{
<?php
class Addition extends MutatorAbstract
{
public static function getMutation(array &$tokens, $index)
{
$tokens[$index] = '-';
}
public static function mutates(array &$tokens, $index)
{