1c29fa5a6Sopenharmony_ci/* 2c29fa5a6Sopenharmony_ci * Copyright (c) 2021-2022 Huawei Device Co., Ltd. 3c29fa5a6Sopenharmony_ci * Licensed under the Apache License, Version 2.0 (the "License"); 4c29fa5a6Sopenharmony_ci * you may not use this file except in compliance with the License. 5c29fa5a6Sopenharmony_ci * You may obtain a copy of the License at 6c29fa5a6Sopenharmony_ci * 7c29fa5a6Sopenharmony_ci * http://www.apache.org/licenses/LICENSE-2.0 8c29fa5a6Sopenharmony_ci * 9c29fa5a6Sopenharmony_ci * Unless required by applicable law or agreed to in writing, software 10c29fa5a6Sopenharmony_ci * distributed under the License is distributed on an "AS IS" BASIS, 11c29fa5a6Sopenharmony_ci * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 12c29fa5a6Sopenharmony_ci * See the License for the specific language governing permissions and 13c29fa5a6Sopenharmony_ci * limitations under the License. 14c29fa5a6Sopenharmony_ci */ 15c29fa5a6Sopenharmony_ci 16c29fa5a6Sopenharmony_ci#include <gtest/gtest.h> 17c29fa5a6Sopenharmony_ci 18c29fa5a6Sopenharmony_ci#include "stream_buffer.h" 19c29fa5a6Sopenharmony_ci 20c29fa5a6Sopenharmony_cinamespace OHOS { 21c29fa5a6Sopenharmony_cinamespace MMI { 22c29fa5a6Sopenharmony_cinamespace { 23c29fa5a6Sopenharmony_ciusing namespace testing::ext; 24c29fa5a6Sopenharmony_ci} // namespace 25c29fa5a6Sopenharmony_ci 26c29fa5a6Sopenharmony_ciclass StreamBufferTest : public testing::Test { 27c29fa5a6Sopenharmony_cipublic: 28c29fa5a6Sopenharmony_ci static void SetUpTestCase(void) {} 29c29fa5a6Sopenharmony_ci static void TearDownTestCase(void) {} 30c29fa5a6Sopenharmony_ci}; 31c29fa5a6Sopenharmony_ci 32c29fa5a6Sopenharmony_ciclass StreamBufferUnitTest : public StreamBuffer { 33c29fa5a6Sopenharmony_cipublic: 34c29fa5a6Sopenharmony_ci const char *ReadBufUnitTest() const 35c29fa5a6Sopenharmony_ci { 36c29fa5a6Sopenharmony_ci return ReadBuf(); 37c29fa5a6Sopenharmony_ci } 38c29fa5a6Sopenharmony_ci const char *WriteBufUnitTest() const 39c29fa5a6Sopenharmony_ci { 40c29fa5a6Sopenharmony_ci return WriteBuf(); 41c29fa5a6Sopenharmony_ci } 42c29fa5a6Sopenharmony_ci bool CloneUnitTest(const StreamBuffer& buf) 43c29fa5a6Sopenharmony_ci { 44c29fa5a6Sopenharmony_ci return Clone(buf); 45c29fa5a6Sopenharmony_ci } 46c29fa5a6Sopenharmony_ci}; 47c29fa5a6Sopenharmony_ci 48c29fa5a6Sopenharmony_ci 49c29fa5a6Sopenharmony_ci/** 50c29fa5a6Sopenharmony_ci * @tc.name:read_Type1_001 51c29fa5a6Sopenharmony_ci * @tc.desc:Verify stream buffer read 52c29fa5a6Sopenharmony_ci * @tc.type: FUNC 53c29fa5a6Sopenharmony_ci * @tc.require: 54c29fa5a6Sopenharmony_ci */ 55c29fa5a6Sopenharmony_ciHWTEST_F(StreamBufferTest, read_Type1_001, TestSize.Level1) 56c29fa5a6Sopenharmony_ci{ 57c29fa5a6Sopenharmony_ci char buf[] = ""; 58c29fa5a6Sopenharmony_ci size_t size = 4; 59c29fa5a6Sopenharmony_ci 60c29fa5a6Sopenharmony_ci StreamBuffer bufObj; 61c29fa5a6Sopenharmony_ci StreamBuffer bufObjTmp(bufObj); 62c29fa5a6Sopenharmony_ci bool retResult = bufObj.Read(buf, size); 63c29fa5a6Sopenharmony_ci EXPECT_FALSE(retResult); 64c29fa5a6Sopenharmony_ci} 65c29fa5a6Sopenharmony_ci 66c29fa5a6Sopenharmony_ci/** 67c29fa5a6Sopenharmony_ci * @tc.name:read_Type1_002 68c29fa5a6Sopenharmony_ci * @tc.desc:Verify stream buffer read 69c29fa5a6Sopenharmony_ci * @tc.type: FUNC 70c29fa5a6Sopenharmony_ci * @tc.require: 71c29fa5a6Sopenharmony_ci */ 72c29fa5a6Sopenharmony_ciHWTEST_F(StreamBufferTest, read_Type1_002, TestSize.Level1) 73c29fa5a6Sopenharmony_ci{ 74c29fa5a6Sopenharmony_ci char buf[] = "1234"; 75c29fa5a6Sopenharmony_ci size_t size = 4; 76c29fa5a6Sopenharmony_ci 77c29fa5a6Sopenharmony_ci StreamBuffer bufObj; 78c29fa5a6Sopenharmony_ci StreamBuffer bufObjTmp(bufObj); 79c29fa5a6Sopenharmony_ci bool retResult = bufObj.Read(buf, size); 80c29fa5a6Sopenharmony_ci EXPECT_FALSE(retResult); 81c29fa5a6Sopenharmony_ci} 82c29fa5a6Sopenharmony_ci 83c29fa5a6Sopenharmony_ci/** 84c29fa5a6Sopenharmony_ci * @tc.name:read_Type2_001 85c29fa5a6Sopenharmony_ci * @tc.desc:Verify stream buffer read 86c29fa5a6Sopenharmony_ci * @tc.type: FUNC 87c29fa5a6Sopenharmony_ci * @tc.require: 88c29fa5a6Sopenharmony_ci */ 89c29fa5a6Sopenharmony_ciHWTEST_F(StreamBufferTest, read_Type2_001, TestSize.Level1) 90c29fa5a6Sopenharmony_ci{ 91c29fa5a6Sopenharmony_ci std::string buf = ""; 92c29fa5a6Sopenharmony_ci 93c29fa5a6Sopenharmony_ci StreamBuffer bufObj; 94c29fa5a6Sopenharmony_ci StreamBuffer bufObjTmp(bufObj); 95c29fa5a6Sopenharmony_ci bool retResult = bufObj.Read(buf); 96c29fa5a6Sopenharmony_ci ASSERT_FALSE(retResult); 97c29fa5a6Sopenharmony_ci} 98c29fa5a6Sopenharmony_ci 99c29fa5a6Sopenharmony_ci/** 100c29fa5a6Sopenharmony_ci * @tc.name:read_Type2_002 101c29fa5a6Sopenharmony_ci * @tc.desc:Verify stream buffer read 102c29fa5a6Sopenharmony_ci * @tc.type: FUNC 103c29fa5a6Sopenharmony_ci * @tc.require: 104c29fa5a6Sopenharmony_ci */ 105c29fa5a6Sopenharmony_ciHWTEST_F(StreamBufferTest, read_Type2_002, TestSize.Level1) 106c29fa5a6Sopenharmony_ci{ 107c29fa5a6Sopenharmony_ci std::string buf = "Stream Data"; 108c29fa5a6Sopenharmony_ci 109c29fa5a6Sopenharmony_ci StreamBuffer bufObj; 110c29fa5a6Sopenharmony_ci StreamBuffer bufObjTmp(bufObj); 111c29fa5a6Sopenharmony_ci bool retResult = bufObj.Read(buf); 112c29fa5a6Sopenharmony_ci ASSERT_FALSE(retResult); 113c29fa5a6Sopenharmony_ci} 114c29fa5a6Sopenharmony_ci 115c29fa5a6Sopenharmony_ci/** 116c29fa5a6Sopenharmony_ci * @tc.name:read_Type3_001 117c29fa5a6Sopenharmony_ci * @tc.desc:Verify stream buffer read 118c29fa5a6Sopenharmony_ci * @tc.type: FUNC 119c29fa5a6Sopenharmony_ci * @tc.require: 120c29fa5a6Sopenharmony_ci */ 121c29fa5a6Sopenharmony_ciHWTEST_F(StreamBufferTest, read_Type3_001, TestSize.Level1) 122c29fa5a6Sopenharmony_ci{ 123c29fa5a6Sopenharmony_ci StreamBuffer buf; 124c29fa5a6Sopenharmony_ci 125c29fa5a6Sopenharmony_ci StreamBuffer bufObj; 126c29fa5a6Sopenharmony_ci StreamBuffer bufObjTmp(bufObj); 127c29fa5a6Sopenharmony_ci bool retResult = bufObj.Read(buf); 128c29fa5a6Sopenharmony_ci ASSERT_FALSE(retResult); 129c29fa5a6Sopenharmony_ci} 130c29fa5a6Sopenharmony_ci 131c29fa5a6Sopenharmony_ci/** 132c29fa5a6Sopenharmony_ci * @tc.name:write_Type1_001 133c29fa5a6Sopenharmony_ci * @tc.desc:Verify stream buffer write 134c29fa5a6Sopenharmony_ci * @tc.type: FUNC 135c29fa5a6Sopenharmony_ci * @tc.require: 136c29fa5a6Sopenharmony_ci */ 137c29fa5a6Sopenharmony_ciHWTEST_F(StreamBufferTest, write_Type1_001, TestSize.Level1) 138c29fa5a6Sopenharmony_ci{ 139c29fa5a6Sopenharmony_ci std::string buf; 140c29fa5a6Sopenharmony_ci 141c29fa5a6Sopenharmony_ci StreamBuffer streamBuffer; 142c29fa5a6Sopenharmony_ci bool retResult = streamBuffer.Write(buf); 143c29fa5a6Sopenharmony_ci ASSERT_TRUE(retResult); 144c29fa5a6Sopenharmony_ci} 145c29fa5a6Sopenharmony_ci 146c29fa5a6Sopenharmony_ci/** 147c29fa5a6Sopenharmony_ci * @tc.name:write_Type1_002 148c29fa5a6Sopenharmony_ci * @tc.desc:Verify stream buffer write 149c29fa5a6Sopenharmony_ci * @tc.type: FUNC 150c29fa5a6Sopenharmony_ci * @tc.require: 151c29fa5a6Sopenharmony_ci */ 152c29fa5a6Sopenharmony_ciHWTEST_F(StreamBufferTest, write_Type1_002, TestSize.Level1) 153c29fa5a6Sopenharmony_ci{ 154c29fa5a6Sopenharmony_ci std::string buf = "stream data"; 155c29fa5a6Sopenharmony_ci 156c29fa5a6Sopenharmony_ci StreamBuffer streamBuffer; 157c29fa5a6Sopenharmony_ci bool retResult = streamBuffer.Write(buf); 158c29fa5a6Sopenharmony_ci ASSERT_TRUE(retResult); 159c29fa5a6Sopenharmony_ci} 160c29fa5a6Sopenharmony_ci 161c29fa5a6Sopenharmony_ci/** 162c29fa5a6Sopenharmony_ci * @tc.name:write_Type2_001 163c29fa5a6Sopenharmony_ci * @tc.desc:Verify stream buffer write 164c29fa5a6Sopenharmony_ci * @tc.type: FUNC 165c29fa5a6Sopenharmony_ci * @tc.require: 166c29fa5a6Sopenharmony_ci */ 167c29fa5a6Sopenharmony_ciHWTEST_F(StreamBufferTest, write_Type2_001, TestSize.Level1) 168c29fa5a6Sopenharmony_ci{ 169c29fa5a6Sopenharmony_ci StreamBuffer buf; 170c29fa5a6Sopenharmony_ci StreamBuffer streamBuffer; 171c29fa5a6Sopenharmony_ci bool retResult = streamBuffer.Write(buf); 172c29fa5a6Sopenharmony_ci ASSERT_FALSE(retResult); 173c29fa5a6Sopenharmony_ci} 174c29fa5a6Sopenharmony_ci 175c29fa5a6Sopenharmony_ci/** 176c29fa5a6Sopenharmony_ci * @tc.name:write_Type3_001 177c29fa5a6Sopenharmony_ci * @tc.desc:Verify stream buffer write 178c29fa5a6Sopenharmony_ci * @tc.type: FUNC 179c29fa5a6Sopenharmony_ci * @tc.require: 180c29fa5a6Sopenharmony_ci */ 181c29fa5a6Sopenharmony_ciHWTEST_F(StreamBufferTest, write_Type3_001, TestSize.Level1) 182c29fa5a6Sopenharmony_ci{ 183c29fa5a6Sopenharmony_ci char buf[100]; 184c29fa5a6Sopenharmony_ci size_t size = 0; 185c29fa5a6Sopenharmony_ci 186c29fa5a6Sopenharmony_ci StreamBuffer streamBuffer; 187c29fa5a6Sopenharmony_ci bool retResult = streamBuffer.Write(buf, size); 188c29fa5a6Sopenharmony_ci EXPECT_FALSE(retResult); 189c29fa5a6Sopenharmony_ci} 190c29fa5a6Sopenharmony_ci 191c29fa5a6Sopenharmony_ci/** 192c29fa5a6Sopenharmony_ci * @tc.name:write_Type3_002 193c29fa5a6Sopenharmony_ci * @tc.desc:Verify stream buffer write 194c29fa5a6Sopenharmony_ci * @tc.type: FUNC 195c29fa5a6Sopenharmony_ci * @tc.require: 196c29fa5a6Sopenharmony_ci */ 197c29fa5a6Sopenharmony_ciHWTEST_F(StreamBufferTest, write_Type3_002, TestSize.Level1) 198c29fa5a6Sopenharmony_ci{ 199c29fa5a6Sopenharmony_ci char buf[100] = "stream data type3 001"; 200c29fa5a6Sopenharmony_ci size_t size = 10; 201c29fa5a6Sopenharmony_ci 202c29fa5a6Sopenharmony_ci StreamBuffer streamBuffer; 203c29fa5a6Sopenharmony_ci bool retResult = streamBuffer.Write(buf, size); 204c29fa5a6Sopenharmony_ci EXPECT_TRUE(retResult); 205c29fa5a6Sopenharmony_ci} 206c29fa5a6Sopenharmony_ci 207c29fa5a6Sopenharmony_ci/** 208c29fa5a6Sopenharmony_ci * @tc.name:Data 209c29fa5a6Sopenharmony_ci * @tc.desc:Verify stream buffer data 210c29fa5a6Sopenharmony_ci * @tc.type: FUNC 211c29fa5a6Sopenharmony_ci * @tc.require: 212c29fa5a6Sopenharmony_ci */ 213c29fa5a6Sopenharmony_ciHWTEST_F(StreamBufferTest, Data, TestSize.Level1) 214c29fa5a6Sopenharmony_ci{ 215c29fa5a6Sopenharmony_ci StreamBuffer bufObj; 216c29fa5a6Sopenharmony_ci const char *retResult = bufObj.Data(); 217c29fa5a6Sopenharmony_ci EXPECT_TRUE(retResult); 218c29fa5a6Sopenharmony_ci} 219c29fa5a6Sopenharmony_ci 220c29fa5a6Sopenharmony_ci/** 221c29fa5a6Sopenharmony_ci * @tc.name:Size_001 222c29fa5a6Sopenharmony_ci * @tc.desc:Verify stream buffer size 223c29fa5a6Sopenharmony_ci * @tc.type: FUNC 224c29fa5a6Sopenharmony_ci * @tc.require: 225c29fa5a6Sopenharmony_ci */ 226c29fa5a6Sopenharmony_ciHWTEST_F(StreamBufferTest, Size_001, TestSize.Level1) 227c29fa5a6Sopenharmony_ci{ 228c29fa5a6Sopenharmony_ci StreamBuffer streamBuffer; 229c29fa5a6Sopenharmony_ci ASSERT_FALSE(streamBuffer.Size() != 0); 230c29fa5a6Sopenharmony_ci} 231c29fa5a6Sopenharmony_ci 232c29fa5a6Sopenharmony_ci/** 233c29fa5a6Sopenharmony_ci * @tc.name:operatorLeft 234c29fa5a6Sopenharmony_ci * @tc.desc:Verify stream buffer operator left 235c29fa5a6Sopenharmony_ci * @tc.type: FUNC 236c29fa5a6Sopenharmony_ci * @tc.require: 237c29fa5a6Sopenharmony_ci */ 238c29fa5a6Sopenharmony_ciHWTEST_F(StreamBufferTest, operatorLeft, TestSize.Level1) 239c29fa5a6Sopenharmony_ci{ 240c29fa5a6Sopenharmony_ci int32_t val = 111; 241c29fa5a6Sopenharmony_ci StreamBuffer buf; 242c29fa5a6Sopenharmony_ci StreamBuffer streamBufferSrc; 243c29fa5a6Sopenharmony_ci bool retResult = streamBufferSrc.Write(buf); 244c29fa5a6Sopenharmony_ci ASSERT_FALSE(retResult); 245c29fa5a6Sopenharmony_ci streamBufferSrc << val; 246c29fa5a6Sopenharmony_ci} 247c29fa5a6Sopenharmony_ci 248c29fa5a6Sopenharmony_ci/** 249c29fa5a6Sopenharmony_ci * @tc.name:operatorRight 250c29fa5a6Sopenharmony_ci * @tc.desc:Verify stream buffer operator right 251c29fa5a6Sopenharmony_ci * @tc.type: FUNC 252c29fa5a6Sopenharmony_ci * @tc.require: 253c29fa5a6Sopenharmony_ci */ 254c29fa5a6Sopenharmony_ciHWTEST_F(StreamBufferTest, operatorRight, TestSize.Level1) 255c29fa5a6Sopenharmony_ci{ 256c29fa5a6Sopenharmony_ci int32_t val = 111; 257c29fa5a6Sopenharmony_ci StreamBuffer buf; 258c29fa5a6Sopenharmony_ci StreamBuffer streamBufferSrc; 259c29fa5a6Sopenharmony_ci bool retResult = streamBufferSrc.Write(buf); 260c29fa5a6Sopenharmony_ci ASSERT_FALSE(retResult); 261c29fa5a6Sopenharmony_ci streamBufferSrc << val; 262c29fa5a6Sopenharmony_ci streamBufferSrc >> val; 263c29fa5a6Sopenharmony_ci} 264c29fa5a6Sopenharmony_ci 265c29fa5a6Sopenharmony_ci/** 266c29fa5a6Sopenharmony_ci * @tc.name:ReadBuf 267c29fa5a6Sopenharmony_ci * @tc.desc:Verify stream buffer read buffer 268c29fa5a6Sopenharmony_ci * @tc.type: FUNC 269c29fa5a6Sopenharmony_ci * @tc.require: 270c29fa5a6Sopenharmony_ci */ 271c29fa5a6Sopenharmony_ciHWTEST_F(StreamBufferTest, ReadBuf, TestSize.Level1) 272c29fa5a6Sopenharmony_ci{ 273c29fa5a6Sopenharmony_ci StreamBufferUnitTest bufObj; 274c29fa5a6Sopenharmony_ci const char *retResult = bufObj.ReadBufUnitTest(); 275c29fa5a6Sopenharmony_ci EXPECT_NE(retResult, nullptr); 276c29fa5a6Sopenharmony_ci} 277c29fa5a6Sopenharmony_ci 278c29fa5a6Sopenharmony_ci/** 279c29fa5a6Sopenharmony_ci * @tc.name:WriteBuf 280c29fa5a6Sopenharmony_ci * @tc.desc:Verify stream buffer write buffer 281c29fa5a6Sopenharmony_ci * @tc.type: FUNC 282c29fa5a6Sopenharmony_ci * @tc.require: 283c29fa5a6Sopenharmony_ci */ 284c29fa5a6Sopenharmony_ciHWTEST_F(StreamBufferTest, WriteBuf, TestSize.Level1) 285c29fa5a6Sopenharmony_ci{ 286c29fa5a6Sopenharmony_ci StreamBufferUnitTest bufObj; 287c29fa5a6Sopenharmony_ci const char *retResult = bufObj.WriteBufUnitTest(); 288c29fa5a6Sopenharmony_ci EXPECT_NE(retResult, nullptr); 289c29fa5a6Sopenharmony_ci} 290c29fa5a6Sopenharmony_ci 291c29fa5a6Sopenharmony_ci/** 292c29fa5a6Sopenharmony_ci * @tc.name:Clone 293c29fa5a6Sopenharmony_ci * @tc.desc:Verify stream buffer clone 294c29fa5a6Sopenharmony_ci * @tc.type: FUNC 295c29fa5a6Sopenharmony_ci * @tc.require: 296c29fa5a6Sopenharmony_ci */ 297c29fa5a6Sopenharmony_ciHWTEST_F(StreamBufferTest, Clone, TestSize.Level1) 298c29fa5a6Sopenharmony_ci{ 299c29fa5a6Sopenharmony_ci const StreamBuffer buf; 300c29fa5a6Sopenharmony_ci 301c29fa5a6Sopenharmony_ci StreamBufferUnitTest bufObj; 302c29fa5a6Sopenharmony_ci bool retResult = bufObj.CloneUnitTest(buf); 303c29fa5a6Sopenharmony_ci EXPECT_FALSE(retResult); 304c29fa5a6Sopenharmony_ci} 305c29fa5a6Sopenharmony_ci} // namespace MMI 306c29fa5a6Sopenharmony_ci} // namespace OHOS 307