public function testStringFilter()
{
$filter = (new GeneralFilterContainer())->addFilter('test1', new StringFilter())->addFilter('test2', new StringFilter())->addFilter('test3', new StringFilter());
if (!$filter instanceof GeneralFilterContainer) {
$this->fail('Type error');
}
$before = ['test1' => 22.7, 'test2' => null, 'test3' => 'abcdefg'];
$after = $filter($before);
$this->assertSame(['test1' => '22.7', 'test2' => '', 'test3' => 'abcdefg'], $after);
try {
$typeError = ['test1' => '22', 'test2' => 0, 'test3' => []];
$filter($typeError);
$this->fail('Expected a TypeError');
} catch (\TypeError $ex) {
}
}