It requires that you understand how dot products work. The key point is that the “inner” dimensions need to agree. So with two 1 x 3 objects, you have two choices:
1 x 3 dot 3 x 1 yields a 1 x 1 or scalar output
3 x 1 dot 1 x 3 yields a 3 x 3 output
Here’s a thread which talks about this choice and gives examples to demonstrate that those two give very different results.
One other important thing to understand is about how the notebooks work: if you type new code into a function cell and then run the test that calls that function again, it does nothing. It just ends up running the old code again. In order to get your newly entered code “activated” or compiled, you need to either click “Shift-Enter” on the changed cell before you call it again or you can restart everything by doing:
Kernel → Restart and Clear Output
Cell → Run All
That will get everything back in sync again and WYSIWYG.