mirror of
https://github.com/cgrates/cgrates.git
synced 2026-02-11 18:16:24 +05:00
Completed tests for /utils/reflect_test.go and modified some functions
This commit is contained in:
committed by
Dan Christian Bogos
parent
7a16c29e11
commit
90c960d94d
@@ -530,12 +530,7 @@ func Sum(items ...interface{}) (sum interface{}, err error) {
|
||||
}
|
||||
}
|
||||
case int:
|
||||
// need explicit conversion for int
|
||||
if firstItmVal, err := IfaceAsInt64(dt); err != nil {
|
||||
return nil, err
|
||||
} else {
|
||||
sum = firstItmVal
|
||||
}
|
||||
sum = int64(dt)
|
||||
for _, item := range items[1:] {
|
||||
if itmVal, err := IfaceAsInt64(item); err != nil {
|
||||
return nil, err
|
||||
@@ -592,12 +587,7 @@ func Difference(items ...interface{}) (diff interface{}, err error) {
|
||||
}
|
||||
}
|
||||
case int:
|
||||
// need explicit conversion for int
|
||||
if firstItmVal, err := IfaceAsInt64(dt); err != nil {
|
||||
return nil, err
|
||||
} else {
|
||||
diff = firstItmVal
|
||||
}
|
||||
diff = int64(dt)
|
||||
for _, item := range items[1:] {
|
||||
if itmVal, err := IfaceAsInt64(item); err != nil {
|
||||
return nil, err
|
||||
@@ -638,12 +628,7 @@ func Multiply(items ...interface{}) (mlt interface{}, err error) {
|
||||
}
|
||||
}
|
||||
case int:
|
||||
// need explicit conversion for int
|
||||
if firstItmVal, err := IfaceAsInt64(dt); err != nil {
|
||||
return nil, err
|
||||
} else {
|
||||
mlt = firstItmVal
|
||||
}
|
||||
mlt = int64(dt)
|
||||
for _, item := range items[1:] {
|
||||
if itmVal, err := IfaceAsInt64(item); err != nil {
|
||||
return nil, err
|
||||
@@ -684,12 +669,7 @@ func Divide(items ...interface{}) (mlt interface{}, err error) {
|
||||
}
|
||||
}
|
||||
case int:
|
||||
// need explicit conversion for int
|
||||
if firstItmVal, err := IfaceAsInt64(dt); err != nil {
|
||||
return nil, err
|
||||
} else {
|
||||
mlt = firstItmVal
|
||||
}
|
||||
mlt = int64(dt)
|
||||
for _, item := range items[1:] {
|
||||
if itmVal, err := IfaceAsInt64(item); err != nil {
|
||||
return nil, err
|
||||
|
||||
@@ -1637,3 +1637,51 @@ func TestReflectFieldMethodInterfaceElseError3(t *testing.T) {
|
||||
t.Errorf("Expected <invalid function called> ,received: <%+v>", err)
|
||||
}
|
||||
}
|
||||
|
||||
func TestSumTimeTimeError(t *testing.T) {
|
||||
day1 := time.Now()
|
||||
day2 := "testValue"
|
||||
_, err := Sum(day1, day2)
|
||||
if err == nil || err.Error() != "time: invalid duration \"testValue\"" {
|
||||
t.Errorf("Expected <time: invalid duration testValue> ,received: <%+v>", err)
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
func TestSumTimeTime(t *testing.T) {
|
||||
day1 := time.Now()
|
||||
day2 := time.Hour
|
||||
expected := day1.Add(day2)
|
||||
sum, _ := Sum(day1, day2)
|
||||
if !reflect.DeepEqual(sum, expected) {
|
||||
t.Errorf("Expected <%+v> ,received: <%+v>", expected, sum)
|
||||
}
|
||||
}
|
||||
|
||||
func TestDifferenceTimeTimeError(t *testing.T) {
|
||||
_, err := Difference(time.Now(), "cat")
|
||||
if err == nil || err.Error() != "time: invalid duration \"cat\"" {
|
||||
t.Errorf("Expected <time: invalid duration \"cat\"> ,received: <%+v>", err)
|
||||
}
|
||||
}
|
||||
|
||||
func TestDifferenceInt64Error(t *testing.T) {
|
||||
_, err := Difference(int64(2), "cat")
|
||||
if err == nil || err.Error() != "strconv.ParseInt: parsing \"cat\": invalid syntax" {
|
||||
t.Errorf("Expected <strconv.ParseInt: parsing \"cat\": invalid syntax> ,received: <%+v>", err)
|
||||
}
|
||||
}
|
||||
|
||||
func TestDivideInt64Error(t *testing.T) {
|
||||
_, err := Divide(int64(2), "cat")
|
||||
if err == nil || err.Error() != "strconv.ParseInt: parsing \"cat\": invalid syntax" {
|
||||
t.Errorf("Expected <strconv.ParseInt: parsing \"cat\": invalid syntax> ,received: <%+v>", err)
|
||||
}
|
||||
}
|
||||
|
||||
func TestMultiplyInt64Error(t *testing.T) {
|
||||
_, err := Multiply(int64(2), "cat")
|
||||
if err == nil || err.Error() != "strconv.ParseInt: parsing \"cat\": invalid syntax" {
|
||||
t.Errorf("Expected <strconv.ParseInt: parsing \"cat\": invalid syntax> ,received: <%+v>", err)
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user