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]

Reply via email to