MCPcopy Create free account
hub / github.com/TheAlgorithms/Go / TestCatalanNumbers

Function TestCatalanNumbers

dynamic/catalan_test.go:8–46  ·  view source on GitHub ↗
(t *testing.T)

Source from the content-addressed store, hash-verified

6)
7
8func TestCatalanNumbers(t *testing.T) {
9 var testCatalanNumbersData = []struct {
10 nthCatalanNumber int
11 expectedCatalanNumber int64
12 expectedError error
13 }{
14 {nthCatalanNumber: -1000, expectedCatalanNumber: 0, expectedError: errCatalan},
15 {nthCatalanNumber: -1, expectedCatalanNumber: 0, expectedError: errCatalan},
16 {nthCatalanNumber: 0, expectedCatalanNumber: 1, expectedError: nil},
17 {nthCatalanNumber: 1, expectedCatalanNumber: 1, expectedError: nil},
18 {nthCatalanNumber: 2, expectedCatalanNumber: 2, expectedError: nil},
19 {nthCatalanNumber: 3, expectedCatalanNumber: 5, expectedError: nil},
20 {nthCatalanNumber: 4, expectedCatalanNumber: 14, expectedError: nil},
21 {nthCatalanNumber: 5, expectedCatalanNumber: 42, expectedError: nil},
22 {nthCatalanNumber: 6, expectedCatalanNumber: 132, expectedError: nil},
23 {nthCatalanNumber: 7, expectedCatalanNumber: 429, expectedError: nil},
24 {nthCatalanNumber: 8, expectedCatalanNumber: 1430, expectedError: nil},
25 {nthCatalanNumber: 9, expectedCatalanNumber: 4862, expectedError: nil},
26 {nthCatalanNumber: 10, expectedCatalanNumber: 16796, expectedError: nil},
27 {nthCatalanNumber: 1000, expectedCatalanNumber: 4233371109654655040, expectedError: nil},
28 }
29
30 for i := range testCatalanNumbersData {
31 t.Run(fmt.Sprintf("the %dth Catalan Number", testCatalanNumbersData[i].nthCatalanNumber), func(t *testing.T) {
32 nthCatalanNumber := testCatalanNumbersData[i].nthCatalanNumber
33 result, err := NthCatalanNumber(nthCatalanNumber)
34 expectedCatalanNumber := testCatalanNumbersData[i].expectedCatalanNumber
35 expectedError := testCatalanNumbersData[i].expectedError
36
37 if err != expectedError {
38 t.Errorf("Expected %dth Catalan Number error: %d\nFound: %d\n", nthCatalanNumber, expectedError, err)
39 }
40
41 if result != expectedCatalanNumber {
42 t.Errorf("Expected %dth Catalan Number: %d\nFound: %d\n", nthCatalanNumber, expectedCatalanNumber, result)
43 }
44 })
45 }
46}

Callers

nothing calls this directly

Calls 1

NthCatalanNumberFunction · 0.85

Tested by

no test coverage detected