So the first thing I'm doing is re-reading the recommended lectures the prof posts weekly, its long but I only read what I don't know by hard. So far, I've learned a lot about the style guide, somethings I knew, some others I didn't (and I think I might have lost marks for those things in the assignment) and I've come to the conclusion that the style guide was developed in a way that actually makes code way easier to read in the long run. Yes, it is annoying at first to read all this paragraphs on variables and underscores, but when you're coding and you know the rules, you save a lot of time since you don't have to check the PEP guide every 5 mins. Also, it looks like you know what you're doing when you are sitting there with Python open.
On a different note, I also read about unittest, and all that comes with it and it helps soooo much. Now everything I understand everything I've been doing at the labs. I now know why setUp and tearDown are important and I also understand the unitttest universe and its hierarchy. So the way it works is basically unittest is what they call a "testing framework" so its basically where everything is going to come from. All the tests and everything related to this particular way of testing will be part of unittest. Then, it comes the TestCase, a "subclass" of unittest that helps you create the tests that unittest should carry out. To create these tests you create a subclass of unittest.TestCase that will have the tests you want to carry out. Since you are creating a class, the class has the following methods by inheritance:
setUp, which basically sets up the scenery for the desired test to be carried out. It is called before the test is called.
tearDown, which is called right after the test is called, cleans up all the test did to the scenery in order to leave it ready for the next one.
Then there's the run method, which runs the tests obviously, but doesnt need to be called, it is executed just by calling the desired instance of the class.
SkipTest, skips the test said, and marks it as skipped in the final result rather than as failed.
Debug, runs the test without collecting the result, it is very useful when debugging code.
And finally there is plenty of assert methods, each of them tries to prove something different, they can and should all be used when creating the test cases.
Anyways, I'll keep reading and will keep you guys posted on everything else I find interesting here!
Natalia