MCPcopy Index your code
hub / github.com/TheAlgorithms/Go / TestMatrixDeterminant

Function TestMatrixDeterminant

math/matrix/determinant_test.go:13–46  ·  view source on GitHub ↗

Test different matrix contents

(t *testing.T)

Source from the content-addressed store, hash-verified

11
12// Test different matrix contents
13func TestMatrixDeterminant(t *testing.T) {
14 // Find Determinant of a 2 by 2 matrix.
15 matrix1, err := matrix.NewFromElements([][]int{
16 {3, 8},
17 {4, 6},
18 })
19 if err != nil {
20 t.Fatalf("Error creating 3 by 3 matrix: %v", err)
21 }
22 determinant, err := matrix1.Determinant()
23 if err != nil {
24 t.Fatalf("Error returned from 3 by 3 matrix: %v", err)
25 }
26 if determinant != -14 {
27 t.Fatalf("Determinant returned for a 3 by 3 matrix was %d; wanted -14", determinant)
28 }
29
30 // Find Dertminant of a 1 by 1 matrix
31 expectedValue := rand.Intn(math.MaxInt)
32 matrix2, err := matrix.NewFromElements([][]int{
33 {expectedValue},
34 })
35 if err != nil {
36 t.Fatalf("Error creating 1 by 1 matrix: %v", err)
37 }
38 determinant, err = matrix2.Determinant()
39 if err != nil {
40 t.Fatalf("Error returned from 1 by 1 matrix: %v", err)
41 }
42 if determinant != expectedValue {
43 t.Fatalf("Determinant returned for a 1 by 1 matrix was %d; wanted %d", determinant, expectedValue)
44 }
45
46}
47
48func TestEmptyMatrix(t *testing.T) {
49 emptyElements := [][]int{}

Callers

nothing calls this directly

Calls 2

NewFromElementsFunction · 0.92
DeterminantMethod · 0.80

Tested by

no test coverage detected