15 #include "absl/base/optimization.h"
17 #include "gtest/gtest.h"
18 #include "absl/types/optional.h"
27 TEST(PredictTest, PredictTrue) {
40 TEST(PredictTest, PredictFalse) {
53 TEST(PredictTest, OneEvaluation) {
62 TEST(PredictTest, OperatorOrder) {
73 const int *good_intptr = &
x;
74 const int *null_intptr =
nullptr;
91 class ImplictlyConvertibleToBool {
94 operator bool()
const {
102 TEST(PredictTest, ImplicitBoolConversion) {
103 const ImplictlyConvertibleToBool is_true(
true);
104 const ImplictlyConvertibleToBool is_false(
false);
111 class ExplictlyConvertibleToBool {
114 explicit operator bool()
const {
return value_; }
120 TEST(PredictTest, ExplicitBoolConversion) {
121 const ExplictlyConvertibleToBool is_true(
true);
122 const ExplictlyConvertibleToBool is_false(
false);