GenericStreamMock.h 2.4 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758
  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 <gmock/gmock.h>
  10. #include <AzCore/IO/GenericStreams.h>
  11. class GenericStreamMock : public AZ::IO::GenericStream
  12. {
  13. public:
  14. MOCK_CONST_METHOD0(IsOpen, bool());
  15. MOCK_CONST_METHOD0(CanSeek, bool());
  16. MOCK_CONST_METHOD0(CanRead, bool());
  17. MOCK_CONST_METHOD0(CanWrite, bool());
  18. MOCK_METHOD2(Seek, void(AZ::IO::OffsetType, SeekMode));
  19. MOCK_METHOD2(Read, AZ::IO::SizeType(AZ::IO::SizeType, void*));
  20. MOCK_METHOD2(Write, AZ::IO::SizeType(AZ::IO::SizeType, const void*));
  21. MOCK_METHOD2(WriteFromStream, AZ::IO::SizeType(AZ::IO::SizeType, GenericStream*));
  22. MOCK_CONST_METHOD0(GetCurPos, AZ::IO::SizeType());
  23. MOCK_CONST_METHOD0(GetLength, AZ::IO::SizeType());
  24. MOCK_METHOD3(ReadAtOffset, AZ::IO::SizeType(AZ::IO::SizeType, void*, AZ::IO::OffsetType));
  25. MOCK_METHOD3(WriteAtOffset, AZ::IO::SizeType(AZ::IO::SizeType, const void*, AZ::IO::OffsetType));
  26. MOCK_CONST_METHOD0(IsCompressed, bool());
  27. MOCK_CONST_METHOD0(GetFilename, const char* ());
  28. MOCK_CONST_METHOD0(GetModeFlags, AZ::IO::OpenMode());
  29. MOCK_METHOD0(ReOpen, bool());
  30. MOCK_METHOD0(Close, void());
  31. // Provide methods that call the concrete implementations for all the non-pure-virtual methods in the interface
  32. AZ::IO::SizeType BaseWriteFromStream(AZ::IO::SizeType bytes, GenericStream* inputStream)
  33. {
  34. return AZ::IO::GenericStream::WriteFromStream(bytes, inputStream);
  35. }
  36. AZ::IO::SizeType BaseReadAtOffset(AZ::IO::SizeType bytes, void* oBuffer, AZ::IO::OffsetType offset = -1)
  37. {
  38. return AZ::IO::GenericStream::ReadAtOffset(bytes, oBuffer, offset);
  39. }
  40. AZ::IO::SizeType BaseWriteAtOffset(AZ::IO::SizeType bytes, const void* iBuffer, AZ::IO::OffsetType offset = -1)
  41. {
  42. return AZ::IO::GenericStream::WriteAtOffset(bytes, iBuffer, offset);
  43. }
  44. bool BaseIsCompressed() const { return AZ::IO::GenericStream::IsCompressed(); }
  45. const char* BaseGetFilename() const { return AZ::IO::GenericStream::GetFilename(); }
  46. AZ::IO::OpenMode BaseGetModeFlags() const { return AZ::IO::GenericStream::GetModeFlags(); }
  47. bool BaseReOpen() { return AZ::IO::GenericStream::ReOpen(); }
  48. void BaseClose() { AZ::IO::GenericStream::Close(); }
  49. };