StreamStackEntryMock.h 1.7 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344
  1. /*
  2. * Copyright (c) Contributors to the Open 3D Engine Project.
  3. * For complete copyright and license terms please see the LICENSE at the root of this distribution.
  4. *
  5. * SPDX-License-Identifier: Apache-2.0 OR MIT
  6. *
  7. */
  8. #pragma once
  9. #include <AzTest/AzTest.h>
  10. #include <AzCore/IO/Streamer/StreamStackEntry.h>
  11. namespace AZ::IO
  12. {
  13. class StreamStackEntryMock
  14. : public StreamStackEntry
  15. {
  16. public:
  17. StreamStackEntryMock() : StreamStackEntry("StreamStackEntryMock") {}
  18. ~StreamStackEntryMock() override = default;
  19. MOCK_CONST_METHOD0(GetName, const AZStd::string&());
  20. MOCK_METHOD1(SetNext, void(AZStd::shared_ptr<StreamStackEntry>));
  21. MOCK_CONST_METHOD0(GetNext, AZStd::shared_ptr<StreamStackEntry>());
  22. MOCK_METHOD1(SetContext, void(StreamerContext&));
  23. MOCK_METHOD1(PrepareRequest, void(FileRequest*));
  24. MOCK_METHOD1(QueueRequest, void(FileRequest*));
  25. MOCK_METHOD0(ExecuteRequests, bool());
  26. MOCK_CONST_METHOD1(UpdateStatus, void(Status& status));
  27. MOCK_METHOD4(UpdateCompletionEstimates, void(AZStd::chrono::steady_clock::time_point,
  28. AZStd::vector<FileRequest*>&, StreamerContext::PreparedQueue::iterator, StreamerContext::PreparedQueue::iterator));
  29. MOCK_CONST_METHOD1(CollectStatistics, void(AZStd::vector<Statistic>&));
  30. inline void ForwardSetContext(StreamerContext& context) { StreamStackEntry::SetContext(context); }
  31. inline void ForwardPrepareRequest(FileRequest* request) { StreamStackEntry::PrepareRequest(request); }
  32. inline void ForwardQueueRequest(FileRequest* request) { StreamStackEntry::QueueRequest(request); }
  33. };
  34. } // namespace AZ::IO