diff --git a/test/cmp_entity/meson.build b/test/cmp_entity/meson.build
new file mode 100644
index 0000000000000000000000000000000000000000..72219124fb502125bbe9482379c81097b9c148b5
--- /dev/null
+++ b/test/cmp_entity/meson.build
@@ -0,0 +1,12 @@
+test_case = files('test_cmp_entity.c')
+test_runner = test_runner_generator.process(test_case)
+
+test_cmp_entity = executable('test_cmp_data_types',
+   test_case, test_runner,
+   include_directories : incdir,
+   link_with : cmp_lib,
+   dependencies : unity_dep,
+   build_by_default : false
+)
+
+test('Compression Entity Unit Tests', test_cmp_entity)
diff --git a/test/cmp_entity/test_cmp_entity.c b/test/cmp_entity/test_cmp_entity.c
new file mode 100644
index 0000000000000000000000000000000000000000..8493e329333bf928bfe0a0dfd1ad666a28291d11
--- /dev/null
+++ b/test/cmp_entity/test_cmp_entity.c
@@ -0,0 +1,51 @@
+#include <unity.h>
+
+#include <cmp_entity.h>
+#include <cmp_io.h>
+
+void test_cmp_ent_get_data_buf(void)
+{
+	enum cmp_data_type data_type;/*TODO: implement: DATA_TYPE_F_CAM_OFFSET, DATA_TYPE_F_CAM_BACKGROUND */
+	struct cmp_entity ent = {0};
+	char *adr;
+	uint32_t s, hdr_size;
+
+	for (data_type = DATA_TYPE_IMAGETTE;
+	     data_type <=DATA_TYPE_F_CAM_IMAGETTE_ADAPTIVE;
+	     data_type++) {
+		s = cmp_ent_create(&ent, data_type, 0, 0);
+		TEST_ASSERT_NOT_EQUAL_INT(0, s);
+
+		adr = cmp_ent_get_data_buf(&ent);
+		TEST_ASSERT_NOT_NULL(adr);
+
+		hdr_size = cmp_ent_cal_hdr_size(data_type, 0);
+		TEST_ASSERT_EQUAL_INT(hdr_size, adr-(char *)&ent);
+	}
+
+	/* RAW mode test */
+	for (data_type = DATA_TYPE_IMAGETTE;
+	     data_type <=DATA_TYPE_F_CAM_IMAGETTE_ADAPTIVE;
+	     data_type++) {
+		s = cmp_ent_create(&ent, data_type, 1, 0);
+		TEST_ASSERT_NOT_EQUAL_INT(0, s);
+
+		adr = cmp_ent_get_data_buf(&ent);
+		TEST_ASSERT_NOT_NULL(adr);
+
+		hdr_size = cmp_ent_cal_hdr_size(data_type, 1);
+		TEST_ASSERT_EQUAL_INT(hdr_size, adr-(char *)&ent);
+	}
+
+	/* ent = NULL test */
+	adr = cmp_ent_get_data_buf(NULL);
+	TEST_ASSERT_NULL(adr);
+
+	/* compression data type not supported test */
+	s = cmp_ent_set_data_type(&ent, DATA_TYPE_UNKNOWN, 0);
+	TEST_ASSERT_FALSE(s);
+
+	adr = cmp_ent_get_data_buf(&ent);
+	TEST_ASSERT_NULL(adr);
+}
+