forked from quic-go/quic-go
add Len() and ContainsPacketNumber() to NackRange
This commit is contained in:
39
frames/nack_range_test.go
Normal file
39
frames/nack_range_test.go
Normal file
@@ -0,0 +1,39 @@
|
||||
package frames
|
||||
|
||||
import (
|
||||
"github.com/lucas-clemente/quic-go/protocol"
|
||||
. "github.com/onsi/ginkgo"
|
||||
. "github.com/onsi/gomega"
|
||||
)
|
||||
|
||||
var _ = Describe("NackRange", func() {
|
||||
Context("Length", func() {
|
||||
It("calculates the length for a NACK range with only one packet", func() {
|
||||
nackRange := NackRange{FirstPacketNumber: 2, LastPacketNumber: 2}
|
||||
Expect(nackRange.Len()).To(Equal(uint64(0)))
|
||||
})
|
||||
|
||||
It("calculates the length for a NACK range with more than one packet", func() {
|
||||
nackRange := NackRange{FirstPacketNumber: 10, LastPacketNumber: 20}
|
||||
Expect(nackRange.Len()).To(Equal(uint64(10)))
|
||||
})
|
||||
})
|
||||
|
||||
Context("ContainsPacketNumber", func() {
|
||||
It("determines if a packet is in a NACK range with only one packet", func() {
|
||||
nackRange := NackRange{FirstPacketNumber: 2, LastPacketNumber: 2}
|
||||
Expect(nackRange.ContainsPacketNumber(protocol.PacketNumber(1))).To(BeFalse())
|
||||
Expect(nackRange.ContainsPacketNumber(protocol.PacketNumber(3))).To(BeFalse())
|
||||
Expect(nackRange.ContainsPacketNumber(protocol.PacketNumber(2))).To(BeTrue())
|
||||
})
|
||||
|
||||
It("determines if a packet is in a NACK range with more than one packet", func() {
|
||||
nackRange := NackRange{FirstPacketNumber: 10, LastPacketNumber: 20}
|
||||
Expect(nackRange.ContainsPacketNumber(protocol.PacketNumber(1))).To(BeFalse())
|
||||
Expect(nackRange.ContainsPacketNumber(protocol.PacketNumber(10))).To(BeTrue())
|
||||
Expect(nackRange.ContainsPacketNumber(protocol.PacketNumber(15))).To(BeTrue())
|
||||
Expect(nackRange.ContainsPacketNumber(protocol.PacketNumber(20))).To(BeTrue())
|
||||
Expect(nackRange.ContainsPacketNumber(protocol.PacketNumber(21))).To(BeFalse())
|
||||
})
|
||||
})
|
||||
})
|
||||
Reference in New Issue
Block a user