/* * Copyright (c) Contributors to the Open 3D Engine Project. * For complete copyright and license terms please see the LICENSE at the root of this distribution. * * SPDX-License-Identifier: Apache-2.0 OR MIT * */ #pragma once #include #include class GenericStreamMock : public AZ::IO::GenericStream { public: MOCK_CONST_METHOD0(IsOpen, bool()); MOCK_CONST_METHOD0(CanSeek, bool()); MOCK_CONST_METHOD0(CanRead, bool()); MOCK_CONST_METHOD0(CanWrite, bool()); MOCK_METHOD2(Seek, void(AZ::IO::OffsetType, SeekMode)); MOCK_METHOD2(Read, AZ::IO::SizeType(AZ::IO::SizeType, void*)); MOCK_METHOD2(Write, AZ::IO::SizeType(AZ::IO::SizeType, const void*)); MOCK_METHOD2(WriteFromStream, AZ::IO::SizeType(AZ::IO::SizeType, GenericStream*)); MOCK_CONST_METHOD0(GetCurPos, AZ::IO::SizeType()); MOCK_CONST_METHOD0(GetLength, AZ::IO::SizeType()); MOCK_METHOD3(ReadAtOffset, AZ::IO::SizeType(AZ::IO::SizeType, void*, AZ::IO::OffsetType)); MOCK_METHOD3(WriteAtOffset, AZ::IO::SizeType(AZ::IO::SizeType, const void*, AZ::IO::OffsetType)); MOCK_CONST_METHOD0(IsCompressed, bool()); MOCK_CONST_METHOD0(GetFilename, const char* ()); MOCK_CONST_METHOD0(GetModeFlags, AZ::IO::OpenMode()); MOCK_METHOD0(ReOpen, bool()); MOCK_METHOD0(Close, void()); // Provide methods that call the concrete implementations for all the non-pure-virtual methods in the interface AZ::IO::SizeType BaseWriteFromStream(AZ::IO::SizeType bytes, GenericStream* inputStream) { return AZ::IO::GenericStream::WriteFromStream(bytes, inputStream); } AZ::IO::SizeType BaseReadAtOffset(AZ::IO::SizeType bytes, void* oBuffer, AZ::IO::OffsetType offset = -1) { return AZ::IO::GenericStream::ReadAtOffset(bytes, oBuffer, offset); } AZ::IO::SizeType BaseWriteAtOffset(AZ::IO::SizeType bytes, const void* iBuffer, AZ::IO::OffsetType offset = -1) { return AZ::IO::GenericStream::WriteAtOffset(bytes, iBuffer, offset); } bool BaseIsCompressed() const { return AZ::IO::GenericStream::IsCompressed(); } const char* BaseGetFilename() const { return AZ::IO::GenericStream::GetFilename(); } AZ::IO::OpenMode BaseGetModeFlags() const { return AZ::IO::GenericStream::GetModeFlags(); } bool BaseReOpen() { return AZ::IO::GenericStream::ReOpen(); } void BaseClose() { AZ::IO::GenericStream::Close(); } };