mirror of https://github.com/v2ray/v2ray-core
You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
43 lines
908 B
43 lines
908 B
package assert
|
|
|
|
import (
|
|
"bytes"
|
|
|
|
"fmt"
|
|
|
|
"v2ray.com/core/common/serial"
|
|
)
|
|
|
|
func (v *Assert) Bytes(value []byte) *BytesSubject {
|
|
return &BytesSubject{
|
|
Subject: Subject{
|
|
disp: serial.BytesToHexString(value),
|
|
a: v,
|
|
},
|
|
value: value,
|
|
}
|
|
}
|
|
|
|
type BytesSubject struct {
|
|
Subject
|
|
value []byte
|
|
}
|
|
|
|
func (subject *BytesSubject) Equals(expectation []byte) {
|
|
if len(subject.value) != len(expectation) {
|
|
subject.FailWithMessage(fmt.Sprint("Bytes arrays have differen size: expected", len(expectation), ", actual", len(subject.value)))
|
|
}
|
|
for idx, b := range expectation {
|
|
if subject.value[idx] != b {
|
|
subject.FailWithMessage(fmt.Sprint("Bytes are different:", b, "vs", subject.value[idx]))
|
|
return
|
|
}
|
|
}
|
|
}
|
|
|
|
func (subject *BytesSubject) NotEquals(expectation []byte) {
|
|
if bytes.Equal(subject.value, expectation) {
|
|
subject.Fail("is not equal to", serial.BytesToHexString(expectation))
|
|
}
|
|
}
|