From 42b8f7e55502663083afd1be5ce1b98d426d8bfc Mon Sep 17 00:00:00 2001 From: Keith Calise Date: Wed, 13 May 2015 21:56:11 -0400 Subject: [PATCH] initial commit --- matrix_objects.py | 31 +++++++++++++++++++++++++++++++ test_matrix-objects.py | 32 ++++++++++++++++++++++++++++++++ 2 files changed, 63 insertions(+) create mode 100644 matrix_objects.py create mode 100644 test_matrix-objects.py diff --git a/matrix_objects.py b/matrix_objects.py new file mode 100644 index 0000000..a3ca33a --- /dev/null +++ b/matrix_objects.py @@ -0,0 +1,31 @@ + + +class Vector: + def __init__(self, vec1): + self.vec1=vec1 + + def shape_of(self): + return (len(self.vec1), ) + + + def __eq__(self, other): + return self.vec1 == other.vec1 + + + def __add__(self, other): + # if shape_of(self.vec1) != shape_of(self.vec1): + # raise ShapeException("That ain't gonna work") + return Vector([self.vec1[i]+other.vec1[i] for i in range(len(self.vec1))]) + + + def __sub__(self,other): + return Vector([self.vec1[i]-other.vec1[i] for i in range(len(self.vec1))]) + + def __mul__(self,other): + return Vector([self.vec1[i] * other for i in range(len(self.vec1))]) + + +class Matrix: + def __init__(self,mat1): + self.mat1 = mat1 + diff --git a/test_matrix-objects.py b/test_matrix-objects.py new file mode 100644 index 0000000..bc2f76a --- /dev/null +++ b/test_matrix-objects.py @@ -0,0 +1,32 @@ +from matrix_objects import * +from nose.tools import raises + +m = Vector([1,2,3]) +n = Vector([4,5,6]) +y = Vector([2, 3]) +z = Vector([10,100]) + + +def test_shape_of(): + v3 = Vector([1]) + assert m.shape_of()==(3,) + assert y.shape_of() == (2,) + assert v3.shape_of() == (1,) + + + +def test_vector_add(): + + + assert m + n == Vector([5,7,9]) + assert y + z == Vector([12, 103]) + +def test_vector_sub(): + assert m-n == Vector([-3,-3,-3]) + assert z-y == Vector([8,97]) + +def test_vec_multiply(): + + assert m * 3 == Vector([3,6,9]) + assert z * 5 == Vector([50, 500]) + #assert v2.vector_add(w,y) == [10,22,34]