title: Expect call in GMock with Factory returning unique_ptr
body: <p>I have factory that creates some windows by returning unique_ptr:</p>
  
  <pre><code>std::unique_ptr&lt;WindowsInterface&gt; NCursesWindowsFactory::createMainWindow()
  {
      return std::make_unique&lt;NCursesMainWindowDecorator&gt;(std::make_unique&lt;NCursesWindow&gt;());
  }
  </code></pre>
  
  <p>And in Mocked factory class this method:</p>
  
  <pre><code>MOCK_METHOD0(createMainWindow, std::unique_ptr&lt;WindowsInterface&gt;());
  </code></pre>
  
  <p>How to write EXPECT_CALL that will return some object as unique_ptr without copying it, just as I do in my fist method?<br>
  My EXPECT_CALL on factory mock has return like this:</p>
  
  <pre><code>.WillOnce(Return(std::make_unique&lt;NCursesMainWindowDecorator&gt;(std::make_unique&lt;NCursesWindow&gt;())))
  </code></pre>
  
  <p>And I want to move this unique_ptr but gmock tries to copy that:</p>
  
  <pre><code>./lib/googletest/googlemock/include/gmock/gmock-actions.h:579:59: error: use of deleted function ‘std::unique_ptr&lt;_Tp, _Dp&gt;::unique_ptr(const std::unique_ptr&lt;_Tp, _Dp&gt;&amp;) [with _Tp = miniReader::windowsManager::WindowsInterface; _Dp = std::default_delete&lt;miniReader::windowsManager::WindowsInterface&gt;]’
  </code></pre>