Просмотр исходного кода

setCurrentState do not have to be returning duplicate state.

master
Patrick Peng Sun 8 лет назад
Родитель
Сommit
b394cd36f8
2 измененных файлов: 20 добавлений и 8 удалений
  1. +13
    -3
      chatState.go
  2. +7
    -5
      chatState_test.go

+ 13
- 3
chatState.go Просмотреть файл

return return
} }


func setCurrentState(openID, procedure string, state chatState) (newState chatState, err error) {
func setCurrentState(openID, procedure string, state chatState) (err error) {
state.OpenID = openID state.OpenID = openID
state.Procedure = procedure state.Procedure = procedure


log.Println(err) log.Println(err)
return return
} }
newState = state
return return
} }


//skip saving sate //skip saving sate
return return
} }
_, err = setCurrentState(openID, procedure, state)
err = setCurrentState(openID, procedure, state)
return return
} }

func isEndingState(state chatState) bool {
if isExpired(state.Expire) || state.Name == "" {
return true
}

if state.Name == "delete" {
return true
}
return false
}

+ 7
- 5
chatState_test.go Просмотреть файл

s.response = "somexml less than 2018bytes" s.response = "somexml less than 2018bytes"


//save //save
n, err := setCurrentState(openID, procedure, s)
err := setCurrentState(openID, procedure, s)
AssertEqual(t, err, nil, "save state should be successful") AssertEqual(t, err, nil, "save state should be successful")


//read out //read out
m, _ := getCurrentState(openID, procedure) m, _ := getCurrentState(openID, procedure)


//compare //compare
AssertEqual(t, m.Name, n.Name, "Name should be equal")
AssertEqual(t, m.Expire, n.Expire, "Expire should be equal")
AssertEqual(t, m.Name, s.Name, "Name should be equal")
AssertEqual(t, m.Expire, s.Expire, "Expire should be equal")
AssertEqual(t, m.Save["txt"], s.Save["txt"], "Message[txt] should be equal") AssertEqual(t, m.Save["txt"], s.Save["txt"], "Message[txt] should be equal")
AssertEqual(t, m.Save["icon"], s.Save["icon"], "Message[icon] should be equal") AssertEqual(t, m.Save["icon"], s.Save["icon"], "Message[icon] should be equal")
AssertEqual(t, m.OpenID, openID, "openID should be "+openID) AssertEqual(t, m.OpenID, openID, "openID should be "+openID)
AssertEqual(t, m.response, "", "response should be empty") AssertEqual(t, m.response, "", "response should be empty")
AssertEqual(t, m.Procedure, procedure, "procedure should be "+procedure) AssertEqual(t, m.Procedure, procedure, "procedure should be "+procedure)
AssertEqual(t, m.Save["txt"], n.Save["txt"], "Message[txt] should be equal")
AssertEqual(t, m.Save["icon"], n.Save["icon"], "Message[icon] should be equal")
AssertEqual(t, m.Save["txt"], s.Save["txt"], "Message[txt] should be equal")
AssertEqual(t, m.Save["icon"], s.Save["icon"], "Message[icon] should be equal")


err = deleteChatState(openID, procedure) err = deleteChatState(openID, procedure)
AssertEqual(t, err, nil, "delete chatState should be good") AssertEqual(t, err, nil, "delete chatState should be good")
AssertEqual(t, s != nil, true, "TestDummy should return error") AssertEqual(t, s != nil, true, "TestDummy should return error")
s = startProcedure(openID, "TestEcho") s = startProcedure(openID, "TestEcho")
AssertEqual(t, s, nil, "TestEqual should return success") AssertEqual(t, s, nil, "TestEqual should return success")
//read it back
//TODO read it back and check it
} }

Загрузка…
Отмена
Сохранить