SP12893678 commented on code in PR #880:
URL: https://github.com/apache/yunikorn-core/pull/880#discussion_r1619090875
##########
pkg/common/resources/resources_test.go:
##########
@@ -1205,6 +1205,110 @@ func TestGetShares(t *testing.T) {
}
}
+func TestCompUsageRatio(t *testing.T) {
+ tests := []struct {
+ left *Resource
+ right *Resource
+ total *Resource
+ expected int
+ message string
+ }{
+ {
+ left: nil,
+ right: nil,
+ total: nil,
+ expected: 0,
+ message: "nil resources",
+ },
+ {
+ left: NewResource(),
+ right: NewResource(),
+ total: nil,
+ expected: 0,
+ message: "empty resource with total nil",
+ },
+ {
+ left: NewResource(),
+ right: NewResource(),
+ total: NewResource(),
+ expected: 0,
+ message: "empty resources",
+ },
+ {
+ left: &Resource{Resources:
map[string]Quantity{"zero": 0}},
+ right: &Resource{Resources:
map[string]Quantity{"zero": 0}},
+ total: nil,
+ expected: 0,
+ message: "zero valued resource",
+ },
+ {
+ left: &Resource{Resources:
map[string]Quantity{"large": 5, "zero": 0, "small": -5}},
+ right: &Resource{Resources:
map[string]Quantity{"large": 5, "zero": 0, "small": -5}},
+ total: nil,
+ expected: 0,
+ message: "negative valued resource",
+ },
+ {
+ left: &Resource{Resources:
map[string]Quantity{"zero": 0}},
+ right: &Resource{Resources:
map[string]Quantity{"zero": 0}},
+ total: NewResource(),
+ expected: 0,
+ message: "zero valued resource with total",
+ },
+ {
+ left: &Resource{Resources:
map[string]Quantity{"large": 5, "zero": 0, "small": -5}},
+ right: &Resource{Resources:
map[string]Quantity{"large": 5, "zero": 0, "small": -5}},
+ total: &Resource{Resources:
map[string]Quantity{"large": 5, "zero": 0, "small": -5}},
+ expected: 0,
+ message: "same resource and total",
+ },
+ {
+ left: &Resource{Resources:
map[string]Quantity{"large": 5, "zero": 0, "small": -5}},
+ right: &Resource{Resources:
map[string]Quantity{"large": 5, "zero": 0}},
+ total: &Resource{Resources:
map[string]Quantity{"large": 10, "zero": 10}},
+ expected: -1,
+ message: "left side has more one negative value",
+ },
+ {
+ left: &Resource{Resources:
map[string]Quantity{"large": 5, "zero": 0}},
+ right: &Resource{Resources:
map[string]Quantity{"large": 5, "zero": 0, "small": -5}},
+ total: &Resource{Resources:
map[string]Quantity{"large": 10, "zero": 10}},
+ expected: 1,
+ message: "right side has more one negative value",
+ },
+ {
+ left: &Resource{Resources:
map[string]Quantity{"first": 10, "second": 5}},
+ right: &Resource{Resources:
map[string]Quantity{"first": 5, "second": 10}},
+ total: &Resource{Resources:
map[string]Quantity{"first": 15}},
+ expected: -1,
+ message: "left side first one bigger, last one
smaller",
+ },
+ {
+ left: &Resource{Resources:
map[string]Quantity{"first": 5, "second": 10}},
+ right: &Resource{Resources:
map[string]Quantity{"first": 10, "second": 5}},
+ total: &Resource{Resources:
map[string]Quantity{"first": 15}},
+ expected: 1,
+ message: "left side first one smaller, last one
bigger",
+ },
+ {
+ left: &Resource{Resources:
map[string]Quantity{"second": 10, "first": 5}},
+ right: &Resource{Resources:
map[string]Quantity{"first": 10, "second": 5}},
+ total: &Resource{Resources: map[string]Quantity{}},
+ expected: 0,
+ message: "left side key order not same as right side",
+ },
Review Comment:
I have a confuse with compareShares function
In compareShares function will first compare from the end of the list
So the expect result will be impacted by the declaration of resource key
order.
--
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
To unsubscribe, e-mail: [email protected]
For queries about this service, please contact Infrastructure at:
[email protected]