first timespans compress test

This commit is contained in:
Radu Ioan Fericean
2014-04-08 11:02:57 +03:00
parent a3fff42338
commit fc76d891b7
2 changed files with 53 additions and 0 deletions

View File

@@ -185,6 +185,7 @@ func (tss TimeSpans) Decompress() {
incrs = append(incrs, cIncr.Clone())
}
}
ts.Increments = incrs
}
}

View File

@@ -1491,3 +1491,55 @@ func TestOverlapWithTimeSpansOne(t *testing.T) {
t.Error("Error overlaping with timespans timespans: ", tss)
}
}
func TestTSCompressDecompress(t *testing.T) {
tss := TimeSpans{
&TimeSpan{
Increments: Increments{
&Increment{
Duration: time.Minute,
Cost: 10.4,
BalanceInfo: &BalanceInfo{"1", "2", "3"},
BalanceRateInterval: &RateInterval{Rating: &RIRate{Rates: RateGroups{&Rate{GroupIntervalStart: 0, Value: 100, RateIncrement: 10 * time.Second, RateUnit: time.Second}}}},
MinuteInfo: &MinuteInfo{"1", 2.3},
},
&Increment{
Duration: time.Minute,
Cost: 10.4,
BalanceInfo: &BalanceInfo{"1", "2", "3"},
BalanceRateInterval: &RateInterval{Rating: &RIRate{Rates: RateGroups{&Rate{GroupIntervalStart: 0, Value: 100, RateIncrement: 10 * time.Second, RateUnit: time.Second}}}},
MinuteInfo: &MinuteInfo{"1", 2.3},
},
&Increment{
Duration: time.Minute,
Cost: 10.4,
BalanceInfo: &BalanceInfo{"1", "2", "3"},
BalanceRateInterval: &RateInterval{Rating: &RIRate{Rates: RateGroups{&Rate{GroupIntervalStart: 0, Value: 100, RateIncrement: 10 * time.Second, RateUnit: time.Second}}}},
MinuteInfo: &MinuteInfo{"1", 2.3},
},
&Increment{
Duration: time.Minute,
Cost: 10.4,
BalanceInfo: &BalanceInfo{"1", "2", "3"},
BalanceRateInterval: &RateInterval{Rating: &RIRate{Rates: RateGroups{&Rate{GroupIntervalStart: 0, Value: 100, RateIncrement: 1111 * time.Second, RateUnit: time.Second}}}},
MinuteInfo: &MinuteInfo{"1", 2.3},
},
&Increment{
Duration: time.Minute,
Cost: 10.4,
BalanceInfo: &BalanceInfo{"1", "2", "3"},
BalanceRateInterval: &RateInterval{Rating: &RIRate{Rates: RateGroups{&Rate{GroupIntervalStart: 0, Value: 100, RateIncrement: 10 * time.Second, RateUnit: time.Second}}}},
MinuteInfo: &MinuteInfo{"1", 2.3},
},
},
},
}
tss.Compress()
if len(tss[0].Increments) != 3 {
t.Error("Error compressing timespan: ", tss[0].Increments)
}
tss.Decompress()
if len(tss[0].Increments) != 5 {
t.Error("Error decompressing timespans: ", tss[0].Increments)
}
}