@@ -26,17 +26,17 @@ func TestCostLess(t *testing.T) {
2626 {Cost {C : 1 }, Cost {C : 1.00000001 }, true },
2727 {Cost {C : 1000 }, Cost {C : 1000.00000000001 }, false },
2828 {Cost {C : 1000 }, Cost {C : 1000.00001 }, true },
29- {Cost {C : 1.0 , Flags : CostFlags { FullScanPenalty : true } }, Cost {C : 1.0 }, false },
30- {Cost {C : 1.0 }, Cost {C : 1.0 , Flags : CostFlags { HugeCostPenalty : true } }, true },
31- {Cost {C : 1.0 , Flags : CostFlags { FullScanPenalty : true , HugeCostPenalty : true } }, Cost {C : 1.0 }, false },
32- {Cost {C : 1.0 , Flags : CostFlags { FullScanPenalty : true }} , Cost {C : 1.0 , Flags : CostFlags { HugeCostPenalty : true } }, true },
29+ {Cost {C : 1.0 , Flags : FullScanPenalty }, Cost {C : 1.0 }, false },
30+ {Cost {C : 1.0 }, Cost {C : 1.0 , Flags : HugeCostPenalty }, true },
31+ {Cost {C : 1.0 , Flags : FullScanPenalty | HugeCostPenalty }, Cost {C : 1.0 }, false },
32+ {Cost {C : 1.0 , Flags : FullScanPenalty } , Cost {C : 1.0 , Flags : HugeCostPenalty }, true },
3333 {MaxCost , Cost {C : 1.0 }, false },
3434 {Cost {C : 0.0 }, MaxCost , true },
3535 {MaxCost , MaxCost , false },
36- {MaxCost , Cost {C : 1.0 , Flags : CostFlags { FullScanPenalty : true } }, false },
37- {Cost {C : 1.0 , Flags : CostFlags { HugeCostPenalty : true } }, MaxCost , true },
38- {Cost {C : 2.0 , Flags : CostFlags {}} , Cost {C : 1.0 , Flags : CostFlags { UnboundedCardinality : true } }, true },
39- {Cost {C : 1.0 , Flags : CostFlags { UnboundedCardinality : true }} , Cost {C : 2.0 , Flags : CostFlags {} }, false },
36+ {MaxCost , Cost {C : 1.0 , Flags : FullScanPenalty }, false },
37+ {Cost {C : 1.0 , Flags : HugeCostPenalty }, MaxCost , true },
38+ {Cost {C : 2.0 } , Cost {C : 1.0 , Flags : UnboundedCardinality }, true },
39+ {Cost {C : 1.0 , Flags : UnboundedCardinality } , Cost {C : 2.0 }, false },
4040 // Auxiliary information should not affect the comparison.
4141 {Cost {C : 1.0 , aux : testAux {0 }}, Cost {C : 1.0 , aux : testAux {1 }}, false },
4242 }
@@ -55,8 +55,9 @@ func TestCostAdd(t *testing.T) {
5555 {Cost {C : 0.0 }, Cost {C : 0.0 }, Cost {C : 0.0 }},
5656 {Cost {C : - 1.0 }, Cost {C : 1.0 }, Cost {C : 0.0 }},
5757 {Cost {C : 1.5 }, Cost {C : 2.5 }, Cost {C : 4.0 }},
58- {Cost {C : 1.0 , Flags : CostFlags {FullScanPenalty : true }}, Cost {C : 2.0 }, Cost {C : 3.0 , Flags : CostFlags {FullScanPenalty : true }}},
59- {Cost {C : 1.0 }, Cost {C : 2.0 , Flags : CostFlags {HugeCostPenalty : true }}, Cost {C : 3.0 , Flags : CostFlags {HugeCostPenalty : true }}},
58+ {Cost {C : 1.0 , Flags : FullScanPenalty }, Cost {C : 2.0 }, Cost {C : 3.0 , Flags : FullScanPenalty }},
59+ {Cost {C : 1.0 }, Cost {C : 2.0 , Flags : HugeCostPenalty }, Cost {C : 3.0 , Flags : HugeCostPenalty }},
60+ {Cost {C : 1.0 , Flags : UnboundedCardinality }, Cost {C : 2.0 , Flags : HugeCostPenalty }, Cost {C : 3.0 , Flags : HugeCostPenalty | UnboundedCardinality }},
6061 {Cost {C : 1.0 , aux : testAux {1 }}, Cost {C : 1.0 , aux : testAux {2 }}, Cost {C : 2.0 , aux : testAux {3 }}},
6162 {Cost {C : 1.0 , aux : testAux {200 }}, Cost {C : 1.0 , aux : testAux {100 }}, Cost {C : 2.0 , aux : testAux {255 }}},
6263 }
@@ -67,41 +68,3 @@ func TestCostAdd(t *testing.T) {
6768 }
6869 }
6970}
70-
71- func TestCostFlagsLess (t * testing.T ) {
72- testCases := []struct {
73- left , right CostFlags
74- expected bool
75- }{
76- {CostFlags {FullScanPenalty : false , HugeCostPenalty : false }, CostFlags {FullScanPenalty : true , HugeCostPenalty : true }, true },
77- {CostFlags {FullScanPenalty : true , HugeCostPenalty : true }, CostFlags {FullScanPenalty : false , HugeCostPenalty : false }, false },
78- {CostFlags {FullScanPenalty : true , HugeCostPenalty : true }, CostFlags {FullScanPenalty : true , HugeCostPenalty : true }, false },
79- {CostFlags {FullScanPenalty : false }, CostFlags {FullScanPenalty : true }, true },
80- {CostFlags {HugeCostPenalty : false }, CostFlags {HugeCostPenalty : true }, true },
81- {CostFlags {UnboundedCardinality : false }, CostFlags {UnboundedCardinality : true }, true },
82- {CostFlags {UnboundedCardinality : true }, CostFlags {UnboundedCardinality : false }, false },
83- }
84- for _ , tc := range testCases {
85- if tc .left .Less (tc .right ) != tc .expected {
86- t .Errorf ("expected %v.Less(%v) to be %v" , tc .left , tc .right , tc .expected )
87- }
88- }
89- }
90-
91- func TestCostFlagsAdd (t * testing.T ) {
92- testCases := []struct {
93- left , right , expected CostFlags
94- }{
95- {CostFlags {FullScanPenalty : false , HugeCostPenalty : false }, CostFlags {FullScanPenalty : true , HugeCostPenalty : true }, CostFlags {FullScanPenalty : true , HugeCostPenalty : true }},
96- {CostFlags {FullScanPenalty : true , HugeCostPenalty : true }, CostFlags {FullScanPenalty : false , HugeCostPenalty : false }, CostFlags {FullScanPenalty : true , HugeCostPenalty : true }},
97- {CostFlags {FullScanPenalty : false }, CostFlags {FullScanPenalty : true }, CostFlags {FullScanPenalty : true }},
98- {CostFlags {HugeCostPenalty : false }, CostFlags {HugeCostPenalty : true }, CostFlags {HugeCostPenalty : true }},
99- {CostFlags {FullScanPenalty : true , HugeCostPenalty : false }, CostFlags {FullScanPenalty : false , HugeCostPenalty : true }, CostFlags {FullScanPenalty : true , HugeCostPenalty : true }},
100- }
101- for _ , tc := range testCases {
102- tc .left .Add (tc .right )
103- if tc .left != tc .expected {
104- t .Errorf ("expected %v.Add(%v) to be %v, got %v" , tc .left , tc .right , tc .expected , tc .left )
105- }
106- }
107- }
0 commit comments