2 * Copyright (c) 2018 Samsung Electronics Co., Ltd All Rights Reserved
4 * Licensed under the Apache License, Version 2.0 (the "License");
5 * you may not use this file except in compliance with the License.
6 * You may obtain a copy of the License at
8 * http://www.apache.org/licenses/LICENSE-2.0
10 * Unless required by applicable law or agreed to in writing, software
11 * distributed under the License is distributed on an "AS IS" BASIS,
12 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 * See the License for the specific language governing permissions and
14 * limitations under the License.
17 #include <tzplatform_config.h>
19 #include "libmm_bmp_unittest.h"
20 #include "FileInterface.h"
21 #include "mm_util_bmp.h"
23 #define DECODE_FILE_PATH tzplatform_mkpath(TZ_SYS_BIN, "libmm-bmp-unittest.bmp")
24 #define ENCODE_FILE_PATH tzplatform_mkpath(TZ_USER_CONTENT, "libmm-bmp-result.bmp")
26 using ::testing::InitGoogleTest;
27 using ::testing::Test;
28 using ::testing::TestCase;
30 class libmm_bmp_Test : public ::testing::Test {
33 std::cout << "SetUp()" << std::endl;
37 std::cout << "TearDown()" << std::endl;
41 TEST(libmm_bmp_Test, mm_util_decode_from_bmp_file_p)
43 int ret = MM_UTIL_ERROR_NONE;
44 mm_image_info_s decode_image;
46 ret = mm_util_decode_from_bmp_file(DECODE_FILE_PATH, &decode_image);
47 EXPECT_EQ(ret, MM_UTIL_ERROR_NONE);
48 EXPECT_EQ(decode_image.width, 640);
49 EXPECT_EQ(decode_image.height, 480);
50 EXPECT_TRUE(decode_image.data != NULL);
52 if (decode_image.data != NULL)
53 free(decode_image.data);
56 TEST(libmm_bmp_Test, mm_util_decode_from_bmp_file_n)
58 int ret = MM_UTIL_ERROR_NONE;
59 mm_image_info_s decode_image;
61 ret = mm_util_decode_from_bmp_file(NULL, &decode_image);
62 EXPECT_EQ(ret, MM_UTIL_ERROR_INVALID_PARAMETER);
64 ret = mm_util_decode_from_bmp_file(DECODE_FILE_PATH, NULL);
65 EXPECT_EQ(ret, MM_UTIL_ERROR_INVALID_PARAMETER);
68 TEST(libmm_bmp_Test, mm_util_decode_from_bmp_memory_p)
70 int ret = MM_UTIL_ERROR_NONE;
72 mm_image_info_s decode_image;
74 FileInterface IFile = FileInterface(DECODE_FILE_PATH);
75 err = IFile.ReadData();
78 ret = mm_util_decode_from_bmp_memory(IFile.readData, IFile.readDataSize, &decode_image);
79 EXPECT_EQ(ret, MM_UTIL_ERROR_NONE);
80 EXPECT_EQ(decode_image.width, 640);
81 EXPECT_EQ(decode_image.height, 480);
82 EXPECT_TRUE(decode_image.data != NULL);
84 if (decode_image.data != NULL)
85 free(decode_image.data);
88 TEST(libmm_bmp_Test, mm_util_decode_from_bmp_memory_n)
90 int ret = MM_UTIL_ERROR_NONE;
92 mm_image_info_s decode_image;
94 FileInterface IFile = FileInterface(DECODE_FILE_PATH);
95 err = IFile.ReadData();
98 ret = mm_util_decode_from_bmp_memory(NULL, IFile.readDataSize, &decode_image);
99 EXPECT_EQ(ret, MM_UTIL_ERROR_INVALID_PARAMETER);
101 ret = mm_util_decode_from_bmp_memory(IFile.readData, IFile.readDataSize, NULL);
102 EXPECT_EQ(ret, MM_UTIL_ERROR_INVALID_PARAMETER);
105 TEST(libmm_bmp_Test, mm_util_encode_bmp_to_file_p)
107 int ret = MM_UTIL_ERROR_NONE;
108 mm_image_info_s decode_image;
110 ret = mm_util_decode_from_bmp_file(DECODE_FILE_PATH, &decode_image);
111 EXPECT_EQ(ret, MM_UTIL_ERROR_NONE);
112 EXPECT_TRUE(decode_image.data != NULL);
114 ret = mm_util_encode_bmp_to_file(&decode_image, ENCODE_FILE_PATH);
115 EXPECT_EQ(ret, MM_UTIL_ERROR_NONE);
117 if (decode_image.data != NULL)
118 free(decode_image.data);
121 TEST(libmm_bmp_Test, mm_util_encode_bmp_to_file_n)
123 int ret = MM_UTIL_ERROR_NONE;
124 mm_image_info_s decode_image;
126 ret = mm_util_encode_bmp_to_file(NULL, ENCODE_FILE_PATH);
127 EXPECT_EQ(ret, MM_UTIL_ERROR_INVALID_PARAMETER);
129 ret = mm_util_encode_bmp_to_file(&decode_image, NULL);
130 EXPECT_EQ(ret, MM_UTIL_ERROR_INVALID_PARAMETER);
133 TEST(libmm_bmp_Test, mm_util_encode_bmp_to_memory_p)
135 int ret = MM_UTIL_ERROR_NONE;
136 mm_image_info_s decode_image;
140 ret = mm_util_decode_from_bmp_file(DECODE_FILE_PATH, &decode_image);
141 EXPECT_EQ(ret, MM_UTIL_ERROR_NONE);
142 EXPECT_TRUE(decode_image.data != NULL);
144 ret = mm_util_encode_bmp_to_memory(&decode_image, &buffer, &size);
145 EXPECT_EQ(ret, MM_UTIL_ERROR_NONE);
146 EXPECT_TRUE(buffer != NULL);
149 if (decode_image.data != NULL)
150 free(decode_image.data);
156 TEST(libmm_bmp_Test, mm_util_encode_bmp_to_memory_n)
158 int ret = MM_UTIL_ERROR_NONE;
159 mm_image_info_s decode_image;
163 ret = mm_util_encode_bmp_to_memory(NULL, &buffer, &size);
164 EXPECT_EQ(ret, MM_UTIL_ERROR_INVALID_PARAMETER);
166 ret = mm_util_encode_bmp_to_memory(&decode_image, NULL, &size);
167 EXPECT_EQ(ret, MM_UTIL_ERROR_INVALID_PARAMETER);
169 ret = mm_util_encode_bmp_to_memory(&decode_image, &buffer, NULL);
170 EXPECT_EQ(ret, MM_UTIL_ERROR_INVALID_PARAMETER);
173 int main(int argc, char **argv)
175 InitGoogleTest(&argc, argv);
177 return RUN_ALL_TESTS();