@@ -503,52 +503,57 @@ BOOST_AUTO_TEST_CASE(feerate_diagram_utilities)
503
503
std::vector<FeeFrac> new_diagram{{FeeFrac{0 , 0 }, FeeFrac{1000 , 300 }, FeeFrac{1050 , 400 }}};
504
504
505
505
BOOST_CHECK (std::is_lt (CompareFeerateDiagram (old_diagram, new_diagram)));
506
+ BOOST_CHECK (std::is_gt (CompareFeerateDiagram (new_diagram, old_diagram)));
506
507
507
508
// Incomparable diagrams
508
509
old_diagram = {FeeFrac{0 , 0 }, FeeFrac{950 , 300 }, FeeFrac{1050 , 400 }};
509
510
new_diagram = {FeeFrac{0 , 0 }, FeeFrac{1000 , 300 }, FeeFrac{1000 , 400 }};
510
511
511
512
BOOST_CHECK (CompareFeerateDiagram (old_diagram, new_diagram) == std::partial_ordering::unordered);
513
+ BOOST_CHECK (CompareFeerateDiagram (new_diagram, old_diagram) == std::partial_ordering::unordered);
512
514
513
515
// Strictly better but smaller size.
514
516
old_diagram = {FeeFrac{0 , 0 }, FeeFrac{950 , 300 }, FeeFrac{1050 , 400 }};
515
517
new_diagram = {FeeFrac{0 , 0 }, FeeFrac{1100 , 300 }};
516
518
517
519
BOOST_CHECK (std::is_lt (CompareFeerateDiagram (old_diagram, new_diagram)));
520
+ BOOST_CHECK (std::is_gt (CompareFeerateDiagram (new_diagram, old_diagram)));
518
521
519
522
// New diagram is strictly better due to the first chunk, even though
520
523
// second chunk contributes no fees
521
524
old_diagram = {FeeFrac{0 , 0 }, FeeFrac{950 , 300 }, FeeFrac{1050 , 400 }};
522
525
new_diagram = {FeeFrac{0 , 0 }, FeeFrac{1100 , 100 }, FeeFrac{1100 , 200 }};
523
526
524
527
BOOST_CHECK (std::is_lt (CompareFeerateDiagram (old_diagram, new_diagram)));
528
+ BOOST_CHECK (std::is_gt (CompareFeerateDiagram (new_diagram, old_diagram)));
525
529
526
530
// Feerate of first new chunk is better with, but second chunk is worse
527
531
old_diagram = {FeeFrac{0 , 0 }, FeeFrac{950 , 300 }, FeeFrac{1050 , 400 }};
528
532
new_diagram = {FeeFrac{0 , 0 }, FeeFrac{750 , 100 }, FeeFrac{999 , 350 }, FeeFrac{1150 , 1000 }};
529
533
530
534
BOOST_CHECK (CompareFeerateDiagram (old_diagram, new_diagram) == std::partial_ordering::unordered);
535
+ BOOST_CHECK (CompareFeerateDiagram (new_diagram, old_diagram) == std::partial_ordering::unordered);
531
536
532
537
// If we make the second chunk slightly better, the new diagram now wins.
533
538
old_diagram = {FeeFrac{0 , 0 }, FeeFrac{950 , 300 }, FeeFrac{1050 , 400 }};
534
539
new_diagram = {FeeFrac{0 , 0 }, FeeFrac{750 , 100 }, FeeFrac{1000 , 350 }, FeeFrac{1150 , 500 }};
535
540
536
541
BOOST_CHECK (std::is_lt (CompareFeerateDiagram (old_diagram, new_diagram)));
542
+ BOOST_CHECK (std::is_gt (CompareFeerateDiagram (new_diagram, old_diagram)));
537
543
538
544
// Identical diagrams, cannot be strictly better
539
545
old_diagram = {FeeFrac{0 , 0 }, FeeFrac{950 , 300 }, FeeFrac{1050 , 400 }};
540
546
new_diagram = {FeeFrac{0 , 0 }, FeeFrac{950 , 300 }, FeeFrac{1050 , 400 }};
541
547
542
548
BOOST_CHECK (std::is_eq (CompareFeerateDiagram (old_diagram, new_diagram)));
549
+ BOOST_CHECK (std::is_eq (CompareFeerateDiagram (new_diagram, old_diagram)));
543
550
544
551
// Same aggregate fee, but different total size (trigger single tail fee check step)
545
552
old_diagram = {FeeFrac{0 , 0 }, FeeFrac{950 , 300 }, FeeFrac{1050 , 399 }};
546
553
new_diagram = {FeeFrac{0 , 0 }, FeeFrac{950 , 300 }, FeeFrac{1050 , 400 }};
547
554
548
555
// No change in evaluation when tail check needed.
549
556
BOOST_CHECK (std::is_gt (CompareFeerateDiagram (old_diagram, new_diagram)));
550
-
551
- // Padding works on either argument
552
557
BOOST_CHECK (std::is_lt (CompareFeerateDiagram (new_diagram, old_diagram)));
553
558
554
559
// Trigger multiple tail fee check steps
@@ -561,6 +566,7 @@ BOOST_AUTO_TEST_CASE(feerate_diagram_utilities)
561
566
// Multiple tail fee check steps, unordered result
562
567
new_diagram = {FeeFrac{0 , 0 }, FeeFrac{950 , 300 }, FeeFrac{1050 , 400 }, FeeFrac{1050 , 401 }, FeeFrac{1050 , 402 }, FeeFrac{1051 , 403 }};
563
568
BOOST_CHECK (CompareFeerateDiagram (old_diagram, new_diagram) == std::partial_ordering::unordered);
569
+ BOOST_CHECK (CompareFeerateDiagram (new_diagram, old_diagram) == std::partial_ordering::unordered);
564
570
}
565
571
566
572
BOOST_AUTO_TEST_SUITE_END ()
0 commit comments