- if (get_issuer() == other->get_issuer())
- return false;
-
- if (dynamic_cast<ActivityTestSimcall*>(other))
- return true;
-
- auto* comm1 = dynamic_cast<activity::CommImpl*>(activity_);
- if (comm1 == nullptr)
- return false;
-
- if (dynamic_cast<ActivityWaitSimcall*>(other) != nullptr &&
- (comm1->src_actor_.get() == nullptr || comm1->dst_actor_.get() == nullptr))
- return false;
-
- if (comm1->src_buff_ == nullptr || comm1->dst_buff_ == nullptr)
- return false;
-
- if (auto* test = dynamic_cast<ActivityTestSimcall*>(other)) {
- auto* comm2 = dynamic_cast<activity::CommImpl*>(test->get_activity());
- if (comm2 == nullptr)
- return false;
- else if (comm2->src_buff_ == nullptr || comm2->dst_buff_ == nullptr)
- return false;
- }
-
- if (auto* wait = dynamic_cast<ActivityWaitSimcall*>(other)) {
- auto* comm2 = dynamic_cast<activity::CommImpl*>(wait->get_activity());
- if (comm2 == nullptr)
- return false;
- if (comm1->src_buff_ == comm2->src_buff_ && comm1->dst_buff_ == comm2->dst_buff_)
- return false;
- if (comm1->src_buff_ != nullptr && comm1->dst_buff_ != nullptr && comm2->src_buff_ != nullptr &&
- comm2->dst_buff_ != nullptr && comm1->dst_buff_ != comm2->src_buff_ && comm1->dst_buff_ != comm2->dst_buff_ &&
- comm2->dst_buff_ != comm1->src_buff_)
- return false;
+ stream << (short)mc::Transition::Type::TESTANY << ' ' << activities_.size() << ' ';
+ for (auto const& act : activities_) {
+ serialize_activity_test(act, stream);
+ stream << ' ';