/**
  * @dataProvider setErrorProvider
  */
 public function testSetError($provided, $expected)
 {
     $SofortLibAbstractMock = new SofortLibAbstractMock(self::$configkey);
     $this->assertFalse($SofortLibAbstractMock->isError());
     if (count($provided) == 4) {
         $SofortLibAbstractMock->setError($provided[0], $provided[1], $provided[2], $provided[3]);
     } else {
         if (count($provided) == 3) {
             $SofortLibAbstractMock->setError($provided[0], $provided[1], $provided[2]);
         } else {
             if (count($provided) == 2) {
                 $SofortLibAbstractMock->setError($provided[0], $provided[1]);
             } else {
                 $SofortLibAbstractMock->setError($provided[0]);
             }
         }
     }
     $this->assertEquals($expected, $SofortLibAbstractMock->errors);
     if (isset($provided[1]) && in_array($provided[1], array('global', 'su', 'sr', 'not'))) {
         $provided[1] = $provided[1] == 'not' ? 'all' : $provided[1];
         $this->assertTrue($SofortLibAbstractMock->isError($provided[1]));
         $this->assertFalse($SofortLibAbstractMock->isError($provided[1], 'test'));
     } else {
         $this->assertTrue($SofortLibAbstractMock->isError());
     }
 }