title: (Mis)Understanding Smalltalk and TDD
body: <p>I'm trying to learn Smalltalk by doing, so I'm getting a grip on the syntax and style by buiding a simple "Matrix" class.</p>
  
  <p>First of all, I'd be grateful if linked to a good Smalltak tutorial (although this is totally optional), preferably one that doesn't involve using the GUIs (I'd rather type my <code>.st</code>s than fish around the hierarchy explorer to put the methods in their place).</p>
  
  <p>Then, on TDD: For this project I'm calling <code>gst-sunit -f matrix.st -f matrix-test.st BaseMatrixTests</code>, and there's bound to be a better way than that. <strong>Is there?</strong></p>
  
  <p>And finally, on asserts: I'm trying to write a method and put asserts within, eg.:</p>
  
  <pre><code>Matrix&gt;&gt;multiplyBy: anotherMatrix [
      [ self isNotEmpty ] assert.
      "Do Multiplication"
      [ result dimensions = (self height)@(anotherMatrix width) ] assert.
  ]
  </code></pre>
  
  <p><strong>How can I do that kind of asserts?</strong></p>
  
  <p>Edit: Questions marked explicitly.</p>