Lines Matching defs:Perform

370 // Perform method.
376 virtual int Perform(const tuple<bool, int>& args) {
389 // When exercising the Perform() method of Action<F>, we must pass
391 // types. For example, if F is int(), then Perform() takes a
392 // 0-tuple; if F is void(bool, int), then Perform() takes a
394 EXPECT_EQ(5, action.Perform(make_tuple(true, 5)));
407 EXPECT_EQ(5, action.Perform(make_tuple(true, 5)));
408 EXPECT_EQ(0, action.Perform(make_tuple(false, 1)));
417 EXPECT_EQ(5, a1.Perform(make_tuple(true, 5)));
418 EXPECT_EQ(0, a1.Perform(make_tuple(false, 1)));
421 EXPECT_EQ(5, a2.Perform(make_tuple(true, 5)));
422 EXPECT_EQ(0, a2.Perform(make_tuple(false, 1)));
427 EXPECT_EQ(5, a1.Perform(make_tuple(true, 5)));
428 EXPECT_EQ(0, a1.Perform(make_tuple(false, 1)));
431 EXPECT_EQ(5, a2.Perform(make_tuple(true, 5)));
432 EXPECT_EQ(0, a2.Perform(make_tuple(false, 1)));
440 virtual bool Perform(const tuple<int>& arg) {
454 EXPECT_EQ(1, a2.Perform(make_tuple('a')));
455 EXPECT_EQ(0, a2.Perform(make_tuple('\0')));
466 // polymorphic action whose Perform() method template is either
469 Result Perform(const ArgumentTuple& args) { return get<1>(args); }
477 // implementation class' Perform() method template takes only one
481 // polymorphic action whose Perform() method template is either
484 Result Perform(const tuple<>&) const { return 0; }
503 EXPECT_EQ(5, a1.Perform(make_tuple(false, 5, 2.0)));
507 // class' Perform() method template has only one template parameter.
510 EXPECT_EQ(0, a1.Perform(make_tuple()));
513 EXPECT_TRUE(a2.Perform(make_tuple()) == NULL);
520 return ret.Perform(make_tuple(1));
526 EXPECT_EQ(1, ret.Perform(make_tuple()));
529 EXPECT_EQ(-5, ret.Perform(make_tuple()));
535 EXPECT_STREQ("Hello", a1.Perform(make_tuple()));
538 EXPECT_EQ("world", a2.Perform(make_tuple()));
557 const std::vector<int>& result = *(a.Perform(make_tuple()).v);
575 EXPECT_EQ(&base, ret.Perform(make_tuple()));
578 EXPECT_EQ(&derived, ret.Perform(make_tuple()));
609 action.Perform(tuple<>());
630 EXPECT_TRUE(a1.Perform(make_tuple()) == NULL);
633 EXPECT_TRUE(a2.Perform(make_tuple(true)) == NULL);
641 EXPECT_TRUE(a1.Perform(make_tuple()) == nullptr);
644 EXPECT_TRUE(a2.Perform(make_tuple("foo")) == nullptr);
653 EXPECT_EQ(&n, &ret.Perform(make_tuple(true)));
661 EXPECT_EQ(&base, &a.Perform(make_tuple()));
664 EXPECT_EQ(&derived, &a.Perform(make_tuple()));
672 EXPECT_NE(&n, &ret.Perform(make_tuple()));
673 EXPECT_EQ(42, ret.Perform(make_tuple()));
676 EXPECT_NE(&n, &ret.Perform(make_tuple()));
677 EXPECT_EQ(42, ret.Perform(make_tuple()));
685 EXPECT_NE(&base, &a.Perform(make_tuple()));
688 EXPECT_NE(&derived, &a.Perform(make_tuple()));
791 a.Perform(make_tuple(true, &n, &ch));
798 a.Perform(make_tuple(true, &n, &ch));
811 a.Perform(make_tuple(&str, &ptr));
817 a.Perform(make_tuple(&str, &ptr));
826 a.Perform(make_tuple(&ptr));
834 a2.Perform(make_tuple(&str));
848 a.Perform(make_tuple(true, &str, &ptr));
856 a.Perform(make_tuple(true, &str, &ptr));
866 a.Perform(make_tuple(true, &ptr));
876 a2.Perform(make_tuple(true, &str));
900 a.Perform(make_tuple(true, &dest));
923 a.Perform(make_tuple(true, dest_base));
947 a.Perform(make_tuple(true, &dest));
973 a.Perform(make_tuple(true, dest_base));
988 a.Perform(make_tuple(true, &n, &ch));
995 a.Perform(make_tuple(true, &n, &ch));
1019 a.Perform(make_tuple(true, &dest));
1042 a.Perform(make_tuple(true, dest_base));
1066 a.Perform(make_tuple(true, &dest));
1092 a.Perform(make_tuple(true, dest_base));
1129 EXPECT_EQ(1, a.Perform(make_tuple(2)));
1133 EXPECT_EQ(1, a2.Perform(make_tuple(2, 3.5)));
1138 a3.Perform(make_tuple(1));
1146 EXPECT_EQ(2, a.Perform(make_tuple()));
1151 EXPECT_EQ(2, a2.Perform(make_tuple(3, 3.5, 'a')));
1156 a3.Perform(make_tuple());
1165 EXPECT_EQ(123, a.Perform(make_tuple(true, 'a')));
1171 a.Perform(make_tuple(1));
1184 a.Perform(make_tuple());
1199 a.Perform(make_tuple(2));
1206 a.Perform(make_tuple(0));
1213 a.Perform(make_tuple());
1220 a.Perform(make_tuple(0));
1234 EXPECT_EQ(-5, a.Perform(make_tuple()));
1241 EXPECT_EQ(&x, a.Perform(make_tuple()));
1247 EXPECT_DOUBLE_EQ(5.0, a.Perform(make_tuple()));