I guess I'd go for something more like this:
TEST(FooTest, someTest)
{
// Given
CSomeClass someObject;
std::vector<std::unique_ptr<Foo>> fooContainer;
fooContainer.emplace_back(new MockFoo);
// Expected
auto mock_foo_ptr(static_cast<MockFoo*>(fooContainer.rbegin()->get()));
EXPECT_CALL(*mock_foo_ptr, doSomething());
// When
someObject.Do(fooContainer);
}