/**
  * @covers ::log()
  * @covers ::sortLoggers()
  * @covers ::addLogger()
  *
  * @covers ::emergency()
  * @covers ::alert()
  * @covers ::critical()
  * @covers ::error()
  * @covers ::warning()
  * @covers ::notice()
  * @covers ::info()
  * @covers ::debug()
  *
  * @dataProvider providerLogLevels
  */
 public function test_sortLogger($log_method = NULL, $log_level = LogLevel::INFO)
 {
     $logger1 = \Mockery::mock('Psr\\Log\\LoggerInterface');
     $logger2 = \Mockery::mock('Psr\\Log\\LoggerInterface');
     // Note: We use globally()/ordered() in order to ensure that $logger2 is
     // called first.
     $logger2->shouldReceive('log')->globally()->ordered()->with($log_level, 'test-message', array('key' => 'value', 'channel' => 'test'));
     $logger1->shouldReceive('log')->globally()->ordered()->with($log_level, 'test-message', array('key' => 'value', 'channel' => 'test'));
     $this->loggerChannel->addLogger($logger1, 0);
     $this->loggerChannel->addLogger($logger2, 10);
     if (is_null($log_method)) {
         $this->loggerChannel->log($log_level, 'test-message', array('key' => 'value'));
     } else {
         $this->loggerChannel->{$log_method}('test-message', array('key' => 'value'));
     }
 }