/**
  * @covers ::from
  * @covers ::fromObject
  * @covers ::fromClassName
  * @expectedException GanbaroDigital\Reflection\Exceptions\E4xx_UnsupportedType
  *
  * @dataProvider provideBadDataToTest
  */
 public function testRejectsOtherDataTypesWhenCalledStatically($target)
 {
     // ----------------------------------------------------------------
     // setup your test
     // ----------------------------------------------------------------
     // perform the change
     CallableMethodsList::from($target);
 }
 /**
  * find the first method on $target that matches $data's data type
  *
  * @param  mixed $data
  *         the data we want to call $target with
  * @param  string|object $target
  *         the target that we want to call
  * @param  string $methodPrefix
  *         the prefix at the front of methods on $target
  * @return string|null
  *         the method that suits $data the best
  */
 private static function findFirstMatchingMethod($data, $target, $methodPrefix)
 {
     // no, so we need to build it
     $possibleTypes = AllMatchingTypesList::from($data);
     $possibleMethods = CallableMethodsList::from($target);
     foreach ($possibleTypes as $possibleType) {
         $targetMethodName = $methodPrefix . FilterNamespace::fromString($possibleType);
         if (isset($possibleMethods[$targetMethodName])) {
             // all done
             return $targetMethodName;
         }
     }
     // no match
     return null;
 }