def test_create_default(): m = Matrix.create(2, 3) assert m.get(0, 0) == 0.0 assert m.get(1, 2) == 0.0 with pytest.raises(IndexError): m.get(2, 2) with pytest.raises(IndexError): m.get(1, 3) with pytest.raises(ValueError): Matrix.create(0, 3) with pytest.raises(ValueError): Matrix.create(2, 0)
def test_set(): m = Matrix.create(2, 3) m.set(0, 0, 0.5) assert almost_equal(m.get(0, 0), 0.5) m.set(1, 2, 0.6) assert almost_equal(m.get(1, 2), 0.6) with pytest.raises(IndexError): m.set(2, 2, 1.0) with pytest.raises(IndexError): m.set(1, 3, 1.0)
def test_get_data(): m = Matrix.create(2, 3, 1.0) expected_data = [ [1.0, 1.0, 1.0], [1.0, 1.0, 1.0], ] assert m.get_data() == expected_data m.set(1, 1, 2.0) m.set(1, 2, 3.0) expected_data = [ [1.0, 1.0, 1.0], [1.0, 2.0, 3.0], ] assert m.get_data() == expected_data
def test_rows(): m = Matrix.create(2, 3, 1.0) expected_data = [ [1.0, 1.0, 1.0], [1.0, 1.0, 1.0], ] assert list(m.rows()) == expected_data m.set(1, 1, 2.0) m.set(1, 2, 3.0) expected_data = [ [1.0, 1.0, 1.0], [1.0, 2.0, 3.0], ] assert list(m.rows()) == expected_data
def test_create_with_initial_value(): m = Matrix.create(2, 3, initial_value=0.5) assert m.get(0, 0) == 0.5 assert m.get(1, 2) == 0.5