/**
  * Get all themes
  *
  * @return ThemePackage[]
  */
 public function getThemes()
 {
     $themes = [];
     foreach ($this->componentRegistrar->getPaths(ComponentRegistrar::THEME) as $key => $path) {
         $themes[$key] = $this->factory->create($key, $path);
     }
     return $themes;
 }
 public function testGetThemes()
 {
     $this->registrar->expects($this->once())->method('getPaths')->with(ComponentRegistrar::THEME)->willReturn(['theme1' => 'path1', 'theme2' => 'path2']);
     $themePackage = $this->getMock('\\Magento\\Framework\\View\\Design\\Theme\\ThemePackage', [], [], '', false);
     $this->factory->expects($this->exactly(2))->method('create')->withConsecutive(['theme1', 'path1'], ['theme2', 'path2'])->willReturn($themePackage);
     $actual = $this->object->getThemes();
     $this->assertCount(2, $actual);
     foreach ($actual as $themePackage) {
         $this->assertSame($themePackage, $themePackage);
     }
 }