reprogl

Форк
0
/
hash_test.go 
53 строки · 926.0 Байт
1
package hashid
2

3
import (
4
	"strconv"
5
	"testing"
6
)
7

8
func TestInternalDecode(t *testing.T) {
9
	tests := []struct {
10
		hash    string
11
		id      int
12
		options Option
13
	}{
14
		{
15
			hash:    "ZQD5TM",
16
			id:      27,
17
			options: Commentator | Male,
18
		},
19
		{
20
			hash:    "04RETW",
21
			id:      27,
22
			options: Commentator | Female,
23
		},
24
		{
25
			hash:    "0WMMUN",
26
			id:      48,
27
			options: User | Male,
28
		},
29
	}
30

31
	for idx, item := range tests {
32
		t.Run(strconv.Itoa(idx), func(t *testing.T) {
33
			ids, err := decode(item.hash)
34
			if err != nil {
35
				t.Errorf("decode error: %s", err.Error())
36
				return
37
			}
38

39
			if len(ids) != 2 {
40
				t.Errorf("%s : incorrect ids len: %d", item.hash, len(ids))
41
				return
42
			}
43

44
			if ids[0] != item.id {
45
				t.Errorf("%s : ID got %d; want %d", item.hash, ids[0], item.id)
46
			}
47

48
			if ids[1] != int(item.options) {
49
				t.Errorf("%s : Options got %d; want %d", item.hash, ids[1], item.options)
50
			}
51
		})
52
	}
53
}
54

Использование cookies

Мы используем файлы cookie в соответствии с Политикой конфиденциальности и Политикой использования cookies.

Нажимая кнопку «Принимаю», Вы даете АО «СберТех» согласие на обработку Ваших персональных данных в целях совершенствования нашего веб-сайта и Сервиса GitVerse, а также повышения удобства их использования.

Запретить использование cookies Вы можете самостоятельно в настройках Вашего браузера.