Unit test library to simplify test writing

This commit is contained in:
V2Ray
2015-09-09 14:51:26 +02:00
parent 526c3d3a9b
commit 08a96e5fe1
7 changed files with 266 additions and 33 deletions
+48
View File
@@ -0,0 +1,48 @@
package unit
import (
"strconv"
)
type Uint16Subject struct {
*Subject
value uint16
}
func NewUint16Subject(base *Subject, value uint16) *Uint16Subject {
subject := new(Uint16Subject)
subject.Subject = base
subject.value = value
return subject
}
func (subject *Uint16Subject) Named(name string) *Uint16Subject {
subject.Subject.Named(name)
return subject
}
func (subject *Uint16Subject) Fail(verb string, other uint16) {
subject.FailWithMessage("Not true that " + subject.DisplayString() + " " + verb + " <" + strconv.Itoa(int(other)) + ">.")
}
func (subject *Uint16Subject) DisplayString() string {
return subject.Subject.DisplayString(strconv.Itoa(int(subject.value)))
}
func (subject *Uint16Subject) Equals(expectation uint16) {
if subject.value != expectation {
subject.Fail("is equal to", expectation)
}
}
func (subject *Uint16Subject) GreaterThan(expectation uint16) {
if subject.value <= expectation {
subject.Fail("is greater than", expectation)
}
}
func (subject *Uint16Subject) LessThan(expectation uint16) {
if subject.value >= expectation {
subject.Fail("is less than", expectation)
}
}