Magna Concursos
1685306 Ano: 2019
Disciplina: TI - Desenvolvimento de Sistemas
Banca: PROGEP-FURG
Orgão: FURG

Os arquivos definidos abaixo, de um sistema operacional Ubuntu, se encontram em um diretório de caminho /home/usuario/ e devem ser considerados na solução da questão.

/home/usuario/src/C.php
<?php
class C {
public function m(string $x) { return $x; }
public function n(int $x) { return $this->k($x + 3); }
protected function k($v) { return $this->m(strval($v)); }
}

/home/usuario/src/D.php
<?php
require_once 'C.php';

class D extends C {
public function k($v) {
if (is_numeric($v)) { return $this->m(strval($v + 3));
} else { throw new Exception('Preciso de um número!'); }
}
}

/home/usuario/src/runC.php
<?php
require_once 'C.php';
$o = new C();
echo $o->n(3); echo $o->m('3'); echo $o->m('3' . $o->n(3));

/home/usuario/src/runD.php
<?php
require_once 'D.php';
$l = new D();
echo $l->n(3); echo $l->m('3'); echo $l->m('3' . $l->n(3));

/home/usuario/tests/CDTest.php
<?php
use PHPUnit\Framework\TestCase;
require_once __DIR__ . '/../src/C.php';
require_once __DIR__ . '/../src/D.php';

final class CDTest extends TestCase {
public function test1(): void {
$c = new C(); $d = new D();
$this->assertEquals($c->m('a'), $d->m('a'));
$this->assertNotEquals($c->m('a'), $d->m('n'));
$this->assertFalse($c->m('1') != $d->m('1'));
$this->assertTrue($d->m('1') == 1);
}
public function test2(): void {
$c = new C(); $d = new D();
$this->assertTrue($c->n(1) == '4');
$this->assertEquals($c->n(1), $d->n(1) - 3);
}
public function test3(): void {
$this->expectExceptionMessage('Preciso de um número!');
$d = new D(); $d->k('a');
}
public function test4(): void {
$this->expectExceptionMessage('Preciso de um número!');
$d = new D(); $d->k('2');
}
}

Ao executar o comando "phpunit tests/CDTest.php" no diretório /home/usuario/, marque a alternativa abaixo que é verdadeira em relação aos resultados dos testes executados:

 

Provas

Questão presente nas seguintes provas

Técnico de TI - Desenvolvimento

25 Questões