// Step 767: Family promotion checks (8 tests) #include "managed/ManagedFamilyPromotion.h" #include static int p=0,f=0; #define T(n) { std::cout<<" "<<#n<<"... "; } #define P() { std::cout<<"PASS\n"; ++p; } #define F(m) { std::cout<<"FAIL: "<=1,"beta");P();} void t6(){T(report_json_shape);auto j=ManagedFamilyPromotionMatrix::toJson(ManagedFamilyPromotionMatrix::evaluate(ManagedFamilyPromotionMatrix::defaultPairs()));C(j.contains("pair_count")&&j.contains("pairs"),"shape");P();} void t7(){T(sorted_order);auto s=ManagedFamilyPromotionMatrix::sorted(ManagedFamilyPromotionMatrix::defaultPairs());C(s.front().source<=s.back().source,"sorted");P();} void t8(){T(deterministic);auto a=ManagedFamilyPromotionMatrix::toJson(ManagedFamilyPromotionMatrix::evaluate(ManagedFamilyPromotionMatrix::defaultPairs())).dump();auto b=ManagedFamilyPromotionMatrix::toJson(ManagedFamilyPromotionMatrix::evaluate(ManagedFamilyPromotionMatrix::defaultPairs())).dump();C(a==b,"det");P();} int main(){std::cout<<"Step 767: ManagedFamilyPromotion\n";t1();t2();t3();t4();t5();t6();t7();t8();std::cout<<"\nResults: "<