/** * @covers ::flattenRight * @covers ::flattenLeft */ public function test_flatten_handedly($value = 1) { $disjunction = testNew($value); $sibling = testSubject::ofRight($value); self::assertSame($disjunction, $disjunction->flattenRight()); self::assertSame($disjunction, testNew($disjunction)->flattenLeft()); self::assertSame($sibling, testNew($sibling)->flattenLeft()); }
/** * @covers ::ofLeft */ public function test_left_applicative($value = 1) { $result = testSubject::ofLeft($value); self::assertTrue($result->isLeft()); self::assertInstanceOf(testSubject::class, $result); self::assertInstanceOf(lhs::class, $result); self::assertEquals(lhs::of($value), $result); }