Add basic dot product with tests