+TEST_F(GCompiledValidateMetaEmpty, InvalidMatMetaCompile)
+{
+ EXPECT_THROW(m_ucc.compile(cv::empty_gmat_desc(),
+ cv::empty_scalar_desc()),
+ std::logic_error);
+}
+
+TEST_F(GCompiledValidateMetaEmpty, InvalidMatMetaApply)
+{
+ cv::Mat emptyIn;
+ int out {};
+ const auto pkg = cv::gapi::kernels<GCompiledValidateMetaEmpty::GOCVReturn42>();
+
+ EXPECT_THROW(m_ucc.apply(cv::gin(emptyIn), cv::gout(out), cv::compile_args(pkg)),
+ std::logic_error);
+}
+
+TEST_F(GCompiledValidateMetaEmpty, ValidInvalidMatMetasApply)
+{
+ int out {};
+ const auto pkg = cv::gapi::kernels<GCompiledValidateMetaEmpty::GOCVReturn42>();
+
+ cv::Mat nonEmptyMat = cv::Mat::eye(cv::Size(64,32), CV_8UC1);
+ m_ucc.apply(cv::gin(nonEmptyMat), cv::gout(out), cv::compile_args(pkg));
+ EXPECT_EQ(out, 42);
+
+ cv::Mat emptyIn;
+ EXPECT_THROW(m_ucc.apply(cv::gin(emptyIn), cv::gout(out), cv::compile_args(pkg)),
+ std::logic_error);
+
+ out = 0;
+ m_ucc.apply(cv::gin(nonEmptyMat), cv::gout(out), cv::compile_args(pkg));
+ EXPECT_EQ(out, 42);
+}