| struct ThrowOnCopyMock | struct ThrowOnCopyMock | ||||
| { | { | ||||
| ThrowOnCopyMock() { } | |||||
| ThrowOnCopyMock() | |||||
| { | |||||
| } | |||||
| ThrowOnCopyMock(const ThrowOnCopyMock&) noexcept(false) | ThrowOnCopyMock(const ThrowOnCopyMock&) noexcept(false) | ||||
| { | { | ||||
| ThrowOnCopyMock(ThrowOnCopyMock&&) = delete; | ThrowOnCopyMock(ThrowOnCopyMock&&) = delete; | ||||
| MAKE_CONST_MOCK1(deleter, void(ThrowOnCopyMock)); | |||||
| ThrowOnCopyMock& operator=(const ThrowOnCopyMock&) noexcept(false) | ThrowOnCopyMock& operator=(const ThrowOnCopyMock&) noexcept(false) | ||||
| { | { | ||||
| struct NotNothrowMoveMock | struct NotNothrowMoveMock | ||||
| { | { | ||||
| NotNothrowMoveMock(CallMock* mo) : m_mock(mo) { } | |||||
| NotNothrowMoveMock(CallMock* mo) : m_mock(mo) | |||||
| { | |||||
| } | |||||
| NotNothrowMoveMock(const NotNothrowMoveMock& other) : m_mock(other.m_mock) | NotNothrowMoveMock(const NotNothrowMoveMock& other) : m_mock(other.m_mock) | ||||
| { | { | ||||
| throw std::exception{}; | throw std::exception{}; | ||||
| } | } | ||||
| NotNothrowMoveMock(NotNothrowMoveMock&& other) noexcept(false) : m_mock(other.m_mock) { } | |||||
| void operator()(Handle h) const | |||||
| NotNothrowMoveMock(NotNothrowMoveMock&& other) noexcept(false) : m_mock(other.m_mock) | |||||
| { | { | ||||
| m_mock->deleter(h); | |||||
| } | } | ||||
| NotNothrowMoveMock& operator=(const NotNothrowMoveMock&) | NotNothrowMoveMock& operator=(const NotNothrowMoveMock&) | ||||
| { | { | ||||
| throw "Not implemented"; | throw "Not implemented"; |