Skip to content

Commit 7c375c0

Browse files
committed
Add Clone test
1 parent dfd73df commit 7c375c0

File tree

1 file changed

+30
-27
lines changed

1 file changed

+30
-27
lines changed

src/mutator_test.cc

Lines changed: 30 additions & 27 deletions
Original file line numberDiff line numberDiff line change
@@ -491,46 +491,41 @@ TEST_P(MutatorFieldInsDelTest, DeleteField) {
491491
EXPECT_TRUE(Mutate(*m1_, *m2_));
492492
}
493493

494-
class MutatorFieldTest : public MutatorTest {
495-
public:
496-
template <class Msg>
497-
void TestCopyField();
498-
};
499-
INSTANTIATE_TEST_SUITE_P(Proto2, MutatorFieldTest,
494+
INSTANTIATE_TEST_SUITE_P(Proto2, MutatorTest,
500495
ValuesIn(GetFieldTestParams<Msg>(
501496
{kRequiredFields, kOptionalFields, kRepeatedFields,
502497
kRequiredNestedFields, kRequiredInAnyFields,
503498
kOptionalNestedFields, kOptionalInAnyFields,
504499
kRepeatedNestedFields, kRepeatedInAnyFields,
505500
kOptionalInDeepAnyFields})));
506-
INSTANTIATE_TEST_SUITE_P(Proto3, MutatorFieldTest,
501+
INSTANTIATE_TEST_SUITE_P(Proto3, MutatorTest,
507502
ValuesIn(GetFieldTestParams<Msg3>(
508503
{kOptionalFields, kRepeatedFields,
509504
kOptionalNestedFields, kOptionalInAnyFields,
510505
kRepeatedNestedFields, kRepeatedInAnyFields,
511506
kOptionalInDeepAnyFields})));
512507

513-
TEST_P(MutatorFieldTest, Initialized) {
508+
TEST_P(MutatorTest, Initialized) {
514509
LoadWithoutLine(m1_.get());
515510
TestMutator mutator(true);
516511
mutator.Mutate(m1_.get(), 1000);
517512
EXPECT_TRUE(m1_->IsInitialized());
518513
}
519514

520-
TEST_P(MutatorFieldTest, InsertField) {
515+
TEST_P(MutatorTest, InsertField) {
521516
LoadWithoutLine(m1_.get());
522517
LoadWithChangedLine(m2_.get(), 1);
523518
EXPECT_TRUE(Mutate(*m1_, *m2_));
524519
}
525520

526-
TEST_P(MutatorFieldTest, ChangeField) {
521+
TEST_P(MutatorTest, ChangeField) {
527522
LoadWithChangedLine(m1_.get(), 0);
528523
LoadWithChangedLine(m2_.get(), 1);
529524
EXPECT_TRUE(Mutate(*m1_, *m2_, 1000000));
530525
EXPECT_TRUE(Mutate(*m2_, *m1_, 1000000));
531526
}
532527

533-
TEST_P(MutatorFieldTest, CrossOver) {
528+
TEST_P(MutatorTest, CrossOver) {
534529
LoadWithoutLine(m1_.get());
535530
LoadMessage(m2_.get());
536531

@@ -541,29 +536,37 @@ TEST_P(MutatorFieldTest, CrossOver) {
541536
}
542537

543538
template <class Msg>
544-
void MutatorFieldTest::TestCopyField() {
539+
void RunCrossOver(const protobuf::Message& m1, const protobuf::Message& m2) {
540+
Msg from;
541+
from.add_repeated_msg()->CopyFrom(m1);
542+
from.add_repeated_msg()->CopyFrom(m2);
543+
from.mutable_repeated_msg(1)->add_repeated_string("repeated_string");
544+
545+
Msg to;
546+
to.add_repeated_msg()->CopyFrom(m1);
547+
to.add_repeated_msg()->CopyFrom(m1);
548+
to.mutable_repeated_msg(1)->add_repeated_string("repeated_string");
549+
EXPECT_TRUE(CrossOver(from, from, to));
550+
}
551+
552+
TEST_P(MutatorTest, CopyField) {
545553
LoadWithChangedLine(m1_.get(), 7);
546554
LoadWithChangedLine(m2_.get(), 0);
547555

548-
for (int i = 0; i < 2; ++i, m1_.swap(m2_)) {
549-
Msg from;
550-
from.add_repeated_msg()->CopyFrom(*m1_);
551-
from.add_repeated_msg()->CopyFrom(*m2_);
552-
from.mutable_repeated_msg(1)->add_repeated_string("repeated_string");
553-
554-
Msg to;
555-
to.add_repeated_msg()->CopyFrom(*m1_);
556-
to.add_repeated_msg()->CopyFrom(*m1_);
557-
to.mutable_repeated_msg(1)->add_repeated_string("repeated_string");
558-
EXPECT_TRUE(CrossOver(from, from, to));
559-
}
556+
if (m1_->GetDescriptor() == Msg::descriptor())
557+
RunCrossOver<Msg>(*m1_, *m2_);
558+
else
559+
RunCrossOver<Msg3>(*m1_, *m2_);
560560
}
561561

562-
TEST_P(MutatorFieldTest, CopyField) {
562+
TEST_P(MutatorTest, CloneField) {
563+
LoadWithChangedLine(m1_.get(), 7);
564+
LoadWithoutLine(m2_.get());
565+
563566
if (m1_->GetDescriptor() == Msg::descriptor())
564-
TestCopyField<Msg>();
567+
RunCrossOver<Msg>(*m1_, *m2_);
565568
else
566-
TestCopyField<Msg3>();
569+
RunCrossOver<Msg3>(*m1_, *m2_);
567570
}
568571

569572
class MutatorSingleFieldTest : public MutatorTest {};

0 commit comments

Comments
 (0)