Skip to content

Added unit tests for matrix arithmetic #108

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merged
merged 9 commits into from
Aug 29, 2019
Prev Previous commit
Next Next commit
Added missing unit tests for matrix initializers
  • Loading branch information
regexident committed Aug 29, 2019
commit 964ef19ec18c59d376bd3e835080af6d3d451d66
93 changes: 88 additions & 5 deletions Tests/SurgeTests/MatrixTests.swift
Original file line number Diff line number Diff line change
Expand Up @@ -46,12 +46,95 @@ class MatrixTests: XCTestCase {
return self.matrixDouble
}

func test_init() {
let m1 = Matrix([[1.0, 2.0]])
XCTAssertEqual(m1.grid, [1.0, 2.0])
func test_init_rows_columns_repeatedValue() {
typealias Scalar = Double

let actual: Matrix<Scalar> = Matrix(rows: 2, columns: 3, repeatedValue: 42.0)
let expected: Matrix<Scalar> = [
[42.0, 42.0, 42.0],
[42.0, 42.0, 42.0],
]

XCTAssertEqual(actual, expected)
}

func test_init_contents() {
typealias Scalar = Double

let contents: [[Scalar]] = [
[1, 2, 3, 4],
[5, 6, 7, 8],
[9, 10, 11, 12],
]

let actual: Matrix<Scalar> = Matrix(contents)
let expected: Matrix<Scalar> = [
[1, 2, 3, 4],
[5, 6, 7, 8],
[9, 10, 11, 12],
]

XCTAssertEqual(actual, expected)
}

func test_init_row() {
typealias Scalar = Double

let row: [Scalar] = [1, 2, 3, 4]

let actual: Matrix<Scalar> = Matrix(row: row)
let expected: Matrix<Scalar> = [
[1, 2, 3, 4],
]

XCTAssertEqual(actual, expected)
}

func test_init_column() {
typealias Scalar = Double

let column: [Scalar] = [1, 2, 3, 4]

let m2 = Matrix([[1, 1], [1, -1]])
XCTAssertEqual(m2.grid, [1, 1, 1, -1])
let actual: Matrix<Scalar> = Matrix(column: column)
let expected: Matrix<Scalar> = [
[1],
[2],
[3],
[4],
]

XCTAssertEqual(actual, expected)
}

func test_init_rows_columns_grid() {
typealias Scalar = Double

let grid: [Scalar] = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12]

let actual: Matrix<Scalar> = Matrix(rows: 3, columns: 4, grid: grid)
let expected: Matrix<Scalar> = [
[1, 2, 3, 4],
[5, 6, 7, 8],
[9, 10, 11, 12],
]

XCTAssertEqual(actual, expected)
}

func test_grid() {
typealias Scalar = Double

let contents: [[Scalar]] = [
[1, 2, 3, 4],
[5, 6, 7, 8],
[9, 10, 11, 12],
]
let matrix: Matrix<Scalar> = Matrix(contents)

let actual = matrix.grid
let expected: [Scalar] = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12]

XCTAssertEqual(actual, expected)
}

func test_subscript_row_get() {
Expand Down