aboutsummaryrefslogtreecommitdiff
path: root/internal/bible/bible_test.go
blob: efd22d604d65af2afa5e68fba2352d53e1925148 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
package bible

import "testing"

func TestVerses(t *testing.T) {
	cases := []struct {
		version, book string
		chap, verse   int
		wantPrefix    string
	}{
		{"wuj", "Genesis", 1, 1, "Na początku stworzył Bóg"},
		{"vul", "Genesis", 1, 1, "In principio creavit Deus"},
		{"drb", "John", 20, 1, "AND on the first day of the week"},
		{"wuj", "Wisdom", 3, 1, "A dusze sprawiedliwych"}, // deuterocanonical
	}
	for _, c := range cases {
		vs := Verses(c.version, c.book, c.chap)
		var got string
		for _, v := range vs {
			if v.Verse == c.verse {
				got = v.Text
			}
		}
		if !hasPrefix(got, c.wantPrefix) {
			t.Errorf("%s %s %d:%d = %q want prefix %q", c.version, c.book, c.chap, c.verse, got, c.wantPrefix)
		}
	}
}

func hasPrefix(s, p string) bool { return len(s) >= len(p) && s[:len(p)] == p }