test balance match action trigger

This commit is contained in:
Radu Ioan Fericean
2014-07-17 19:16:15 +03:00
parent ca4988dd77
commit a5bf017085
2 changed files with 85 additions and 1 deletions

View File

@@ -77,7 +77,7 @@ func (b *Balance) MatchDestination(destinationId string) bool {
func (b *Balance) MatchActionTrigger(at *ActionTrigger) bool {
matchesDestination := true
if at.DestinationId != "" {
matchesDestination = b.MatchDestination(at.DestinationId)
matchesDestination = (at.DestinationId == b.DestinationId)
}
matchesExpirationDate := true
if !at.BalanceExpirationDate.IsZero() {

View File

@@ -94,3 +94,87 @@ func TestBalanceClone(t *testing.T) {
t.Errorf("Cloning failure: \n%v\n%v", mb1, mb2)
}
}
func TestBalanceMatchActionTriggerDestination(t *testing.T) {
at := &ActionTrigger{DestinationId: "test"}
b := &Balance{DestinationId: "test"}
if !b.MatchActionTrigger(at) {
t.Errorf("Error matching action trigger: %+v %+v", b, at)
}
b.DestinationId = "test1"
if b.MatchActionTrigger(at) {
t.Errorf("Error matching action trigger: %+v %+v", b, at)
}
b.DestinationId = ""
if b.MatchActionTrigger(at) {
t.Errorf("Error matching action trigger: %+v %+v", b, at)
}
b.DestinationId = "test"
at.DestinationId = ""
if !b.MatchActionTrigger(at) {
t.Errorf("Error matching action trigger: %+v %+v", b, at)
}
}
func TestBalanceMatchActionTriggerWeight(t *testing.T) {
at := &ActionTrigger{BalanceWeight: 1}
b := &Balance{Weight: 1}
if !b.MatchActionTrigger(at) {
t.Errorf("Error matching action trigger: %+v %+v", b, at)
}
b.Weight = 2
if b.MatchActionTrigger(at) {
t.Errorf("Error matching action trigger: %+v %+v", b, at)
}
b.Weight = 0
if b.MatchActionTrigger(at) {
t.Errorf("Error matching action trigger: %+v %+v", b, at)
}
b.Weight = 1
at.BalanceWeight = 0
if !b.MatchActionTrigger(at) {
t.Errorf("Error matching action trigger: %+v %+v", b, at)
}
}
func TestBalanceMatchActionTriggerRatingSubject(t *testing.T) {
at := &ActionTrigger{BalanceRatingSubject: "test"}
b := &Balance{RatingSubject: "test"}
if !b.MatchActionTrigger(at) {
t.Errorf("Error matching action trigger: %+v %+v", b, at)
}
b.RatingSubject = "test1"
if b.MatchActionTrigger(at) {
t.Errorf("Error matching action trigger: %+v %+v", b, at)
}
b.RatingSubject = ""
if b.MatchActionTrigger(at) {
t.Errorf("Error matching action trigger: %+v %+v", b, at)
}
b.RatingSubject = "test"
at.BalanceRatingSubject = ""
if !b.MatchActionTrigger(at) {
t.Errorf("Error matching action trigger: %+v %+v", b, at)
}
}
func TestBalanceMatchActionTriggerSharedGroup(t *testing.T) {
at := &ActionTrigger{BalanceSharedGroup: "test"}
b := &Balance{SharedGroup: "test"}
if !b.MatchActionTrigger(at) {
t.Errorf("Error matching action trigger: %+v %+v", b, at)
}
b.SharedGroup = "test1"
if b.MatchActionTrigger(at) {
t.Errorf("Error matching action trigger: %+v %+v", b, at)
}
b.SharedGroup = ""
if b.MatchActionTrigger(at) {
t.Errorf("Error matching action trigger: %+v %+v", b, at)
}
b.SharedGroup = "test"
at.BalanceSharedGroup = ""
if !b.MatchActionTrigger(at) {
t.Errorf("Error matching action trigger: %+v %+v", b, at)
}
}