#include "doctest/doctest.h" #include "basic/pipe_element/ffmpeg/basic_struct_for_video_image.h" #include "basic/util/app/AppUtil.h" #include TEST_CASE("BaseTest1") { ImageName_s_t st; st.m_timeStamp="1245656"; st.m_camId="2222"; st.m_frameId =1; std::string imageName = st.toString(); CHECK(!imageName.empty()); ImageName_s_t s2 = ImageName_s_t::fromString(imageName); CHECK(s2.Valid()); std::string str2 = s2.toString(); CHECK_EQ(imageName,str2); } TEST_CASE("BaseTest2"){ //ImageName_s_t s2 = ImageName_s_t::fromString("1548399702_DS-2CD5026EFWD20180202AACH181129936_244"); //CHECK(s2.Valid()); } TEST_CASE("BaseTest3"){ //ImageName_s_t s2 = ImageName_s_t::fromString("2019-01-25-16-49-19_DS-2CD2T46WDA2-I20180622AACHC30488278_253"); //CHECK(s2.Valid()); } TEST_CASE("VideoName") { VideoName_s_t st; st.m_timeStamp="22222"; st.m_camId="abdfdf_234234_"; st.m_startFrameId = 3333; st.m_endFrameId =4444; std::string videoName=st.ToVideoName(); CHECK_FALSE(videoName.empty()); VideoName_s_t fromString = VideoName_s_t::fromString(videoName); std::cout< videoSt.m_startFrameId); auto firstTime = AppUtil::ParseFromHypenTimeStr(imgSt.m_timeStamp); auto secondTime = AppUtil::ParseFromHypenTimeStr(videoSt.m_timeStamp); CHECK(AppUtil::IsRightAfterLeft(firstTime,secondTime)); CHECK_FALSE(AppUtil::IsRightAfterLeft(secondTime,firstTime)); } TEST_CASE("BetweenTest"){ std::string strImageKey ="DS-2CD5026EFWD20180202AACH181129936$2019-02-01-09-49-24_1588152"; std::string strVideoName = "DS-2CD5026EFWD20180202AACH181129936$2019-02-01-09-49-35_1587925_1588424.mp4"; ImageName_s_t imgSt = ImageName_s_t::fromString(strImageKey); VideoName_s_t videoSt = VideoName_s_t::fromString(strVideoName); CHECK(imgSt.Valid()); CHECK(videoSt.Valid()); CHECK((imgSt.m_frameId < videoSt.m_endFrameId)); CHECK(imgSt.m_frameId > videoSt.m_startFrameId); auto firstTime = AppUtil::ParseFromHypenTimeStr(imgSt.m_timeStamp); auto secondTime = AppUtil::ParseFromHypenTimeStr(videoSt.m_timeStamp); CHECK(AppUtil::IsRightAfterLeft(firstTime,secondTime)); CHECK_FALSE(AppUtil::IsRightAfterLeft(secondTime,firstTime)); } TEST_CASE("BetweenLimit"){ std::string strImageKey ="DS-2CD5026EFWD20180202AACH181129936$2019-02-01-09-49-35_1588152"; std::string strVideoName = "DS-2CD5026EFWD20180202AACH181129936$2019-02-01-09-49-35_1587925_1588424.mp4"; ImageName_s_t imgSt = ImageName_s_t::fromString(strImageKey); VideoName_s_t videoSt = VideoName_s_t::fromString(strVideoName); CHECK(imgSt.Valid()); CHECK(videoSt.Valid()); CHECK((imgSt.m_frameId < videoSt.m_endFrameId)); CHECK(imgSt.m_frameId > videoSt.m_startFrameId); auto firstTime = AppUtil::ParseFromHypenTimeStr(imgSt.m_timeStamp); auto secondTime = AppUtil::ParseFromHypenTimeStr(videoSt.m_timeStamp); CHECK(AppUtil::IsRightAfterLeft(firstTime,secondTime)); //CHECK_FALSE(AppUtil::IsRightAfterLeft(secondTime,firstTime)); }