本文整理汇总了Golang中github.com/cheekybits/is.Equal函数的典型用法代码示例。如果您正苦于以下问题:Golang Equal函数的具体用法?Golang Equal怎么用?Golang Equal使用的例子?那么恭喜您, 这里精选的函数代码示例或许可以为您提供帮助。
在下文中一共展示了Equal函数的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Golang代码示例。
示例1: TestLogin
func TestLogin(t *testing.T) {
is := is.New(t)
userRepositoryMock := &UserRepositoryMock{}
userRepositoryMock.CheckCredentialsCall.Returns.UserType = "freelancer"
userRepositoryMock.CheckCredentialsCall.Returns.User = User{
Model: Model{
ID: 1,
},
FirstName: "firstname",
LastName: "lastname",
Password: "password",
Email: "[email protected]",
}
userContext := &ApplicationContext{
UserRepository: userRepositoryMock,
}
r := getRequest(userContext, `
{
"email": "[email protected].com",
"password": "notimportant"
}
`)
w := httptest.NewRecorder()
Login(w, r)
is.Equal(w.Code, http.StatusOK)
var body map[string]interface{}
is.NoErr(json.Unmarshal(w.Body.Bytes(), &body))
is.Equal(body["id"], 1)
is.OK(body["token"])
is.Equal(body["type"], "freelancer")
}
示例2: TestAddFreelancerReferenceByID
func TestAddFreelancerReferenceByID(t *testing.T) {
is := is.New(t)
referenceRepositoryMock := &ReferenceRepositoryMock{}
var freelancerContext = &ApplicationContext{
ReferenceRepository: referenceRepositoryMock,
}
w := httptest.NewRecorder()
r := getRequest(freelancerContext, ``)
reference := Reference{
Title: "title",
Content: "content",
Media: Media{
Image: "image",
Video: "video",
},
}
addFreelancerReferenceByID{3, &reference}.ServeHTTP(w, r)
receivedReference := referenceRepositoryMock.AddReferenceCall.Receives.Reference
is.Equal(receivedReference.Title, "title")
is.Equal(receivedReference.Content, "content")
is.Equal(receivedReference.Media.Image, "image")
is.Equal(receivedReference.Media.Video, "video")
is.Equal(referenceRepositoryMock.AddReferenceCall.Receives.ID, 3)
}
示例3: TestAddFreelancer
func TestAddFreelancer(t *testing.T) {
is := is.New(t)
freelancerRepositoryMock := &FreelancerRepositoryMock{}
freelancerContext := &ApplicationContext{
FreelancerRepository: freelancerRepositoryMock,
}
r := getRequest(freelancerContext, ``)
w := httptest.NewRecorder()
user := &User{
Model: Model{
ID: 1,
},
FirstName: "first",
LastName: "last",
Email: "[email protected]",
}
AddFreelancer(user).ServeHTTP(w, r)
is.Equal(w.Code, http.StatusOK)
is.Equal(freelancerRepositoryMock.AddFreelancerCall.Receives.Freelancer.User.Model.ID, 1)
is.Equal(freelancerRepositoryMock.AddFreelancerCall.Receives.Freelancer.User.FirstName, "first")
is.Equal(freelancerRepositoryMock.AddFreelancerCall.Receives.Freelancer.User.LastName, "last")
is.Equal(freelancerRepositoryMock.AddFreelancerCall.Receives.Freelancer.User.Email, "[email protected]")
}
示例4: TestIndexFreelancer
func TestIndexFreelancer(t *testing.T) {
is := is.New(t)
freelancerRepositoryMock := &FreelancerRepositoryMock{}
freelancerRepositoryMock.GetAllFreelancersCall.Returns.Freelancers = []Freelancer{
Freelancer{
User: User{
Model: Model{
ID: 1,
},
},
},
Freelancer{
User: User{
Model: Model{
ID: 2,
},
},
},
}
freelancerContext := &ApplicationContext{
FreelancerRepository: freelancerRepositoryMock,
}
r := getRequest(freelancerContext, ``)
w := httptest.NewRecorder()
IndexFreelancer(w, r)
is.Equal(w.Code, http.StatusOK)
var body []Freelancer
is.NoErr(json.Unmarshal(w.Body.Bytes(), &body))
is.Equal(body[0].Model.ID, 1)
is.Equal(body[1].Model.ID, 2)
}
示例5: TestWithReference
func TestWithReference(t *testing.T) {
is := is.New(t)
referenceRepositoryMock := &ReferenceRepositoryMock{}
var freelancerContext = &ApplicationContext{
ReferenceRepository: referenceRepositoryMock,
}
w := httptest.NewRecorder()
r := getRequest(freelancerContext, `
{
"content": "content",
"title": "title",
"media": {
"image": "image",
"video": "video"
}
}`)
next := func(reference *Reference) http.Handler {
return http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) {
is.Equal(reference.Title, "title")
is.Equal(reference.Content, "content")
is.Equal(reference.Media.Image, "image")
is.Equal(reference.Media.Video, "video")
})
}
withReference{next}.ServeHTTP(w, r)
}
示例6: TestGetFreelancerByID
func TestGetFreelancerByID(t *testing.T) {
is := is.New(t)
freelancerRepositoryMock := &FreelancerRepositoryMock{}
freelancerRepositoryMock.GetFreelancerCall.Returns.Freelancer = Freelancer{
User: User{
Model: Model{
ID: 1,
},
},
}
freelancerContext := &ApplicationContext{
FreelancerRepository: freelancerRepositoryMock,
}
r := getRequest(freelancerContext, ``)
w := httptest.NewRecorder()
GetFreelancerByID(1).ServeHTTP(w, r)
is.Equal(w.Code, http.StatusOK)
is.Equal(freelancerRepositoryMock.GetFreelancerCall.Receives.ID, 1)
var body Freelancer
is.NoErr(json.Unmarshal(w.Body.Bytes(), &body))
is.Equal(body.Model.ID, 1)
}
示例7: TestValueEqual
func TestValueEqual(t *testing.T) {
is := is.New(t)
v := ParseValue([]byte("something"))
is.True(v.Equal("something"))
is.False(v.Equal("else"))
is.Equal("string", v.Type())
v = ParseValue([]byte("123"))
is.Equal("float64", v.Type())
v = ParseValue([]byte("/^2.{2}$/"))
is.True(v.Equal(200))
is.True(v.Equal(201))
is.False(v.Equal(404))
is.Equal("regex", v.Type())
v = ParseValue([]byte("/application/json/"))
is.True(v.Equal("application/json"))
is.True(v.Equal("application/json; charset=utf-8"))
is.True(v.Equal("text/xml; application/json; charset=utf-8"))
is.False(v.Equal("text/xml; charset=utf-8"))
is.Equal("regex", v.Type())
}
示例8: TestJobWithJob
func TestJobWithJob(t *testing.T) {
var jobContext = &ApplicationContext{}
is := is.New(t)
w := httptest.NewRecorder()
requestBody := `{
"name": "Name1",
"details": "Details1",
"summary": "Summary1",
"clientId": 1
}`
r := getRequest(jobContext, requestBody)
next := func(job *Job) http.Handler {
return http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) {
is.Equal(job.Name, "Name1")
is.Equal(job.Details, "Details1")
is.Equal(job.Summary, "Summary1")
is.Equal(job.ClientID, 1)
})
}
WithJob{next}.ServeHTTP(w, r)
is.Equal(w.Code, http.StatusOK)
}
示例9: TestAppendOrder
func TestAppendOrder(t *testing.T) {
is := is.New(t)
byteData := [4][]byte{
{0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 58},
{0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0x0d, 0x24},
{0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0xfa, 0x28},
{0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0xac, 0xad, 0x10},
}
expectedIDs := [4]string{
`c41111111111111111111111111111111111111111111111111111111111111111111111111111111111111121`,
`c41111111111111111111111111111111111111111111111111111111111111111111111111111111111111211`,
`c41111111111111111111111111111111111111111111111111111111111111111111111111111111111112111`,
`c41111111111111111111111111111111111111111111111111111111111111111111111111111111111121111`,
}
for k := 0; k < 4; k++ {
b := byteData[k]
bignum := big.NewInt(0)
bignum = bignum.SetBytes(b)
id := asset.ID(*bignum)
is.Equal(id.String(), expectedIDs[k])
id2, err := asset.ParseID(expectedIDs[k])
is.NoErr(err)
bignum2 := big.Int(*id2)
b = (&bignum2).Bytes()
size := len(b)
for size < 64 {
b = append([]byte{0}, b...)
size++
}
for i, bb := range b {
is.Equal(bb, byteData[k][i])
}
}
}
示例10: TestWithUser
func TestWithUser(t *testing.T) {
is := is.New(t)
userContext := &ApplicationContext{}
r := getRequest(userContext, `
{
"firstName": "firstname",
"lastName": "lastname",
"email": "[email protected]",
"password": "password"
}
`)
w := httptest.NewRecorder()
withUser := WithUser{
next: func(u *User) http.Handler {
return http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) {
is.Equal(u.FirstName, "firstname")
is.Equal(u.LastName, "lastname")
is.Equal(u.Email, "[email protected]")
is.Equal(u.Password, "password")
})
},
}
withUser.ServeHTTP(w, r)
is.Equal(w.Code, http.StatusOK)
}
示例11: TestOnceReset
func TestOnceReset(t *testing.T) {
is := is.New(t)
var calls int
var c resync.Once
c.Do(func() {
calls++
})
c.Do(func() {
calls++
})
c.Do(func() {
calls++
})
is.Equal(calls, 1)
c.Reset()
c.Do(func() {
calls++
})
c.Do(func() {
calls++
})
c.Do(func() {
calls++
})
is.Equal(calls, 2)
}
示例12: TestValueEqual
func TestValueEqual(t *testing.T) {
is := is.New(t)
v := ParseValue([]byte("something"))
is.True(v.Equal("something"))
is.False(v.Equal("else"))
is.Equal("string", v.Type())
v = ParseValue([]byte("123"))
is.Equal("float64", v.Type())
v = ParseValue([]byte("/^2.{2}$/"))
is.True(v.Equal(200))
is.True(v.Equal(201))
is.False(v.Equal(404))
is.Equal("regex", v.Type())
v = ParseValue([]byte("/application/json/"))
is.True(v.Equal("application/json"))
is.True(v.Equal("application/json; charset=utf-8"))
is.True(v.Equal("text/xml; application/json; charset=utf-8"))
is.False(v.Equal("text/xml; charset=utf-8"))
is.Equal("regex", v.Type())
is.Equal(`/application/json/`, v.String())
v = ParseValue([]byte("/Silk/"))
is.True(v.Equal("My name is Silk."))
is.True(v.Equal("Silk is my name."))
is.False(v.Equal("I don't contain that word!"))
}
示例13: TestIndexProject
func TestIndexProject(t *testing.T) {
is := is.New(t)
projectRepositoryMock := &ProjectRepositoryMock{}
projectRepositoryMock.GetAllProjectsCall.Returns.Projects = []Project{
Project{
Model: Model{
ID: 1,
},
},
Project{
Model: Model{
ID: 2,
},
},
}
userContext := &ApplicationContext{
ProjectRepository: projectRepositoryMock,
}
r := getRequest(userContext, ``)
w := httptest.NewRecorder()
IndexProject(w, r)
is.Equal(w.Code, http.StatusOK)
var body []Project
is.NoErr(json.Unmarshal(w.Body.Bytes(), &body))
is.Equal(body[0].Model.ID, 1)
is.Equal(body[1].Model.ID, 2)
}
示例14: TestProjectGetByID
func TestProjectGetByID(t *testing.T) {
projectRepositoryMock := ProjectRepositoryMock{}
projectRepositoryMock.GetByIDCall.Returns.Project = Project{
Model: Model{
ID: 123456789,
},
Name: "Name1",
Description: "Description1",
ClientID: 1,
IsActive: true,
}
var context = &ApplicationContext{
ProjectRepository: &projectRepositoryMock,
}
is := is.New(t)
w := httptest.NewRecorder()
r := getRequest(context, "")
GetProjectByID(0).ServeHTTP(w, r)
is.Equal(w.Code, http.StatusOK)
var body Project
is.NoErr(json.Unmarshal(w.Body.Bytes(), &body))
is.Equal(body.Model.ID, uint(123456789))
is.Equal(body.Name, "Name1")
is.Equal(body.Description, "Description1")
is.Equal(body.IsActive, true)
}
示例15: TestWithError
func TestWithError(t *testing.T) {
is := is.New(t)
w := httptest.NewRecorder()
r := newTestRequest()
err := errors.New("something went wrong")
opts := &respond.Options{
Before: func(w http.ResponseWriter, r *http.Request, status int, data interface{}) (int, interface{}) {
if err, ok := data.(error); ok {
return status, map[string]interface{}{"error": err.Error()}
}
return status, data
},
}
testHandler := &testHandler{
status: http.StatusInternalServerError,
data: err,
}
handler := opts.Handler(testHandler)
handler.ServeHTTP(w, r)
is.Equal(http.StatusInternalServerError, w.Code)
var data map[string]interface{}
is.NoErr(json.Unmarshal(w.Body.Bytes(), &data))
is.Equal(data, map[string]interface{}{"error": err.Error()})
is.Equal(w.HeaderMap.Get("Content-Type"), "application/json; charset=utf-8")
}