/**
  * @depends testSnap
  */
 public function testDiffTwoSnapshots()
 {
     global $wpdb, $testHelpers;
     $app = $testHelpers->getAppWithMockCli();
     Bootstrap::setApplication($app);
     \WP_Mock::wpfunction('wp_cache_delete', ['times' => 1]);
     $wpdb = $this->getMock('wpdb', ['get_col']);
     $wpdb->expects($this->any())->method('get_col')->will($this->returnValue(['opta', 'optb', 'optc']));
     $wpdb->options = 'wp_options';
     \WP_Mock::wpfunction('get_option', ['return_in_order' => ['valaa', ['valbb', 'foo'], 'valcc']]);
     $snapper = new OptionSnap();
     $snapper->snap(['snap2'], []);
     $snapper->diff(['snap1', 'snap2'], []);
     $utils = $app['cliutils'];
     $this->assertEquals('table', $utils->format);
     $this->assertTrue(count($utils->output) == 3);
     $this->assertEquals('NEW', $utils->output[0]['state']);
     $this->assertEquals('optc', $utils->output[0]['name']);
     $this->assertEquals('valcc', $utils->output[0]['snap2']);
     $this->assertEquals('', $utils->output[0]['snap1']);
     $this->assertEquals('No', $utils->output[0]['managed']);
     $this->assertEquals('MOD', $utils->output[1]['state']);
     $this->assertEquals('opta', $utils->output[1]['name']);
     $this->assertEquals('valaa', $utils->output[1]['snap2']);
     $this->assertEquals('vala', $utils->output[1]['snap1']);
     $this->assertEquals('No', $utils->output[1]['managed']);
 }