public function __construct($command, $returnCode, $output)
 {
     // robustness!
     RequireTraversable::checkMixed($command, E4xx_UnsupportedType::class);
     RequireNumeric::check($returnCode, E4xx_UnsupportedType::class);
     RequireStringy::checkMixed($output, E4xx_UnsupportedType::class);
     $this->setCommand($command);
     $this->setReturnCode($returnCode);
     $this->setOutput($output);
     // all done
     $this->makeReadOnly();
 }
 /**
  * @covers ::check
  * @covers ::checkMixed
  * @dataProvider provideNonNumerics
  * @expectedException GanbaroDigital\Reflection\Exceptions\E4xx_UnsupportedType
  */
 public function testRejectsNonNumericsWhenCalledStatically($item)
 {
     // ----------------------------------------------------------------
     // setup your test
     // ----------------------------------------------------------------
     // perform the change
     RequireNumeric::check($item);
 }