TEST_F(UniverseTest, ObjectsInProximity) { const Position CENTER{ 0, 0, 0 }; Universe universe; auto ship1 = std::make_shared<Common::Game::Object::ShipMock>(); EXPECT_CALL(*ship1, getPosition()).WillOnce(Return(Position(0, 0, 0))); EXPECT_CALL(*ship1, getId()).Times(AtLeast(1)).WillRepeatedly(Return(1)); universe.add(ship1); auto ship2 = std::make_shared<Common::Game::Object::ShipMock>(); EXPECT_CALL(*ship2, getPosition()).WillOnce(Return(Position(0, 100, 0))); EXPECT_CALL(*ship2, getId()).Times(AtLeast(1)).WillRepeatedly(Return(2)); universe.add(ship2); auto ship3 = std::make_shared<Common::Game::Object::ShipMock>(); EXPECT_CALL(*ship3, getPosition()).WillOnce(Return(Position(0, 1000, 0))); EXPECT_CALL(*ship3, getId()).Times(AtLeast(1)).WillRepeatedly(Return(3)); universe.add(ship3); ObjectsVisitorCallbackMock callbackMock; EXPECT_CALL(callbackMock, call(Ref(*ship1))); EXPECT_CALL(callbackMock, call(Ref(*ship2))); universe.objectsInProximity(CENTER, 500, std::ref(callbackMock)); }