gmock과 gtest를 사용하여 bitset의 모든 요소가 동일한 값을 갖는지 어떻게 테스트 할 수 있습니까? 컴파일되지 않는 아래와 같은 것을 찾고 있습니다.
bitset<25> flags;
ASSERT_THAT(flags, AllOf(Eq(true)));
"bitset의 모든 요소가 gmock 및 gtest를 사용하여 동일한 값을 갖는지 어떻게 테스트 할 수 있습니까?"
AllOf()
정규은에 설명 된대로 다른 매처 (matcher)를 결합하기위한 것입니다 참조 문서 .
싱글 Eq(true)
에는에 flags
대한 자동 캐스트 연산자 가 있어야 합니다 bool
(또는 적어도 int
), 실제로 std::bitset<>
. 그것이 당신의 접근 방식이 컴파일되지 않는 이유입니다.
다음과 같이 쉽게 할 수 있습니다.
bitset<25> flags;
// ...
ASSERT_TRUE(flags.all());
이 기능은에서 사용할 수 있습니다 std::bitset<>
.
더 많은 대안 :
ASSERT_TRUE(flags.any());
ASSERT_TRUE(flags.none());
bitset<25> expected_value("1100111001110011100111001");
ASSERT_EQUAL(expected_value,flags);
이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.
침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제
몇 마디 만하겠습니다