diff --git a/engine/cdr_test.go b/engine/cdr_test.go index 43c1c79cf..82ec440fc 100644 --- a/engine/cdr_test.go +++ b/engine/cdr_test.go @@ -1196,6 +1196,14 @@ func TestCDReRoundingDecimals(t *testing.T) { t.Errorf("Expecting: %+v, received: %+v", eVal, val) } + config.CgrConfig().GeneralCfg().RoundingDecimals = 2 + eVal = "1.3216" + if val, err := cdr.exportFieldValue(cfgCdrFld, nil); err != nil { + t.Error(err) + } else if val != eVal { + t.Errorf("Expecting: %+v, received: %+v", eVal, val) + } + cfgCdrFld.RoundingDecimals = 0 config.CgrConfig().GeneralCfg().RoundingDecimals = 3 eVal = "1.322" @@ -1205,6 +1213,14 @@ func TestCDReRoundingDecimals(t *testing.T) { t.Errorf("Expecting: %+v, received: %+v", eVal, val) } + config.CgrConfig().GeneralCfg().RoundingDecimals = 1 + eVal = "1.322" + if val, err := cdr.exportFieldValue(cfgCdrFld, nil); err != nil { + t.Error(err) + } else if val != eVal { + t.Errorf("Expecting: %+v, received: %+v", eVal, val) + } + cfgCdrFld.RoundingDecimals = 0 config.CgrConfig().GeneralCfg().RoundingDecimals = 2 eVal = "1.32" @@ -1214,6 +1230,14 @@ func TestCDReRoundingDecimals(t *testing.T) { t.Errorf("Expecting: %+v, received: %+v", eVal, val) } + config.CgrConfig().GeneralCfg().RoundingDecimals = 4 + eVal = "1.32" + if val, err := cdr.exportFieldValue(cfgCdrFld, nil); err != nil { + t.Error(err) + } else if val != eVal { + t.Errorf("Expecting: %+v, received: %+v", eVal, val) + } + cfgCdrFld.RoundingDecimals = 0 config.CgrConfig().GeneralCfg().RoundingDecimals = 1 eVal = "1.3" @@ -1223,6 +1247,37 @@ func TestCDReRoundingDecimals(t *testing.T) { t.Errorf("Expecting: %+v, received: %+v", eVal, val) } + config.CgrConfig().GeneralCfg().RoundingDecimals = 4 + eVal = "1.3" + if val, err := cdr.exportFieldValue(cfgCdrFld, nil); err != nil { + t.Error(err) + } else if val != eVal { + t.Errorf("Expecting: %+v, received: %+v", eVal, val) + } + + cfgCdrFld.RoundingDecimals = 2 + eVal = "1.32" + if val, err := cdr.exportFieldValue(cfgCdrFld, nil); err != nil { + t.Error(err) + } else if val != eVal { + t.Errorf("Expecting: %+v, received: %+v", eVal, val) + } + config.CgrConfig().GeneralCfg().RoundingDecimals = 3 + if val, err := cdr.exportFieldValue(cfgCdrFld, nil); err != nil { + t.Error(err) + } else if val != eVal { + t.Errorf("Expecting: %+v, received: %+v", eVal, val) + } + + cfgCdrFld.RoundingDecimals = 3 + config.CgrConfig().GeneralCfg().RoundingDecimals = 4 + eVal = "1.322" + if val, err := cdr.exportFieldValue(cfgCdrFld, nil); err != nil { + t.Error(err) + } else if val != eVal { + t.Errorf("Expecting: %+v, received: %+v", eVal, val) + } + //resetore roundingdecimals value config.CgrConfig().GeneralCfg().RoundingDecimals = 5 }