12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364 |
- package hasher
- import (
- "testing"
- "git.andreafazzi.eu/andrea/probo/client"
- "github.com/remogatto/prettytest"
- )
- type testSuite struct {
- prettytest.Suite
- }
- func TestRunner(t *testing.T) {
- prettytest.Run(
- t,
- new(testSuite),
- )
- }
- func (t *testSuite) TestQuizHashes() {
- h := NewDefaultHash(DefaultSHA256HashingFn)
- firstQuizRequest := &client.CreateQuizRequest{
- Question: &client.CreateQuestionRequest{
- Text: "Question 1"},
- Answers: []*client.CreateAnswerRequest{
- {Text: "Answer 2", Correct: false},
- {Text: "Answer 3", Correct: false},
- {Text: "Answer 1", Correct: true},
- },
- }
- secondQuizRequest := &client.CreateQuizRequest{
- Question: &client.CreateQuestionRequest{
- Text: "Question 1"},
- Answers: []*client.CreateAnswerRequest{
- {Text: "Answer 1", Correct: false},
- {Text: "Answer 2", Correct: false},
- {Text: "Answer 3", Correct: true},
- },
- }
- thirdQuizRequest := &client.CreateQuizRequest{
- Question: &client.CreateQuestionRequest{
- Text: "Question 2"},
- Answers: []*client.CreateAnswerRequest{
- {Text: "Answer 1", Correct: false},
- {Text: "Answer 2", Correct: false},
- {Text: "Answer 3", Correct: true},
- },
- }
- hashesFromFirstRequest := h.QuizHashes(firstQuizRequest)
- hashesFromSecondRequest := h.QuizHashes(secondQuizRequest)
- hashesFromThirdRequest := h.QuizHashes(thirdQuizRequest)
- t.Equal(5, len(hashesFromFirstRequest))
- t.True(hashesFromFirstRequest[1] == hashesFromSecondRequest[2], "Answers' hashes should maintain original request's order")
- t.True(hashesFromFirstRequest[4] == hashesFromSecondRequest[4], "Quiz hash should be the same because quizzes are duplicated")
- t.True(hashesFromFirstRequest[1] != hashesFromThirdRequest[1], "Questions' hashes should not be the same because texts are different")
- t.True(hashesFromFirstRequest[4] != hashesFromThirdRequest[4], "Quiz hash should not be the same because quizzes are not duplicated")
- }
|