{"push_id":732624190,"size":15,"distinct_size":15,"ref":"refs/heads/master","head":"189d71243055acd2bcc2e616b9bf92da2fa8d5de","before":"fb28eb189f88f52a1c4865e92eddde8a53999427","commits":[{"sha":"d1a8dd500dc022dee51bca80115ae29a5182c923","author":{"email":"2521f80753b38c2a6db18fdca240bac64c83328b@gmail.com","name":"Nick Hayes"},"message":"Initial commit. I've just npm installed karma (because why not), and added some js files to get me going","distinct":true,"url":"https://api.github.com/repos/nickhme/Pluto-kata/commits/d1a8dd500dc022dee51bca80115ae29a5182c923"},{"sha":"1a85d828f002c8bd0d24981d3fa6b11b74c598f9","author":{"email":"2521f80753b38c2a6db18fdca240bac64c83328b@gmail.com","name":"Nick Hayes"},"message":"I've added a really simple jasmine test (rover-test) and a rover object. The test just checks if the rover is true, and rover itself just exports true. Should mention that I set up my karma config with browserify and jasmine. My process is to just CTRL+R in Intellij to rerun after I've updated a test.","distinct":true,"url":"https://api.github.com/repos/nickhme/Pluto-kata/commits/1a85d828f002c8bd0d24981d3fa6b11b74c598f9"},{"sha":"21a5355ba6c58d0304d44d2e470e67a2fce75a52","author":{"email":"2521f80753b38c2a6db18fdca240bac64c83328b@gmail.com","name":"Nick Hayes"},"message":"Added two tests that don't work yet, to check if a rover can move forwards or back. I realise the rover needs to know about initial state in some way, so for now i just set it up with initial position before I call move on the object. Later, I expect to refactor this into a Pluto object, and make the interface between these two objects cleaner","distinct":true,"url":"https://api.github.com/repos/nickhme/Pluto-kata/commits/21a5355ba6c58d0304d44d2e470e67a2fce75a52"},{"sha":"d62b1fb033e8fd65744b52f42015b117898d21c8","author":{"email":"2521f80753b38c2a6db18fdca240bac64c83328b@gmail.com","name":"Nick Hayes"},"message":"Started flushing out the rover object, with move and setup commands. Initially did a switch on direction, but I'm going to move this into if branches because of the complexity of R and L commands on direction. Almost done.","distinct":true,"url":"https://api.github.com/repos/nickhme/Pluto-kata/commits/d62b1fb033e8fd65744b52f42015b117898d21c8"},{"sha":"5514d248cbe1fc547d62e2b21247b38924e46fc8","author":{"email":"2521f80753b38c2a6db18fdca240bac64c83328b@gmail.com","name":"Nick Hayes"},"message":"So I wrote some stuff to deal with turning, even though technically I've not reached that requirement yet. Oh well! Happens. I'll add those tests now and see if it works.","distinct":true,"url":"https://api.github.com/repos/nickhme/Pluto-kata/commits/5514d248cbe1fc547d62e2b21247b38924e46fc8"},{"sha":"6aa8a9767dbdbeb7be4a302f54d0d0b7de8d9e26","author":{"email":"2521f80753b38c2a6db18fdca240bac64c83328b@gmail.com","name":"Nick Hayes"},"message":"So I've met the first requirement. Going to do some tests for rotation now (I'm optimistic).","distinct":true,"url":"https://api.github.com/repos/nickhme/Pluto-kata/commits/6aa8a9767dbdbeb7be4a302f54d0d0b7de8d9e26"},{"sha":"59bfe7221a7d5439b95f45d9d03c8b8dce954ebe","author":{"email":"2521f80753b38c2a6db18fdca240bac64c83328b@gmail.com","name":"Nick Hayes"},"message":"missed some files.","distinct":true,"url":"https://api.github.com/repos/nickhme/Pluto-kata/commits/59bfe7221a7d5439b95f45d9d03c8b8dce954ebe"},{"sha":"79838926c9df92293a7950b970d30f857f4c16e4","author":{"email":"2521f80753b38c2a6db18fdca240bac64c83328b@gmail.com","name":"Nick Hayes"},"message":"Ran into a bug. A complex instruction set of movements and rotations did not work. I broke the tests down into simpler ones. I've identified the issue is that the rover always moves the same way, regardless of direction. Doh.","distinct":true,"url":"https://api.github.com/repos/nickhme/Pluto-kata/commits/79838926c9df92293a7950b970d30f857f4c16e4"},{"sha":"3f558721695ddb4d47373a81b8044f2812cfe799","author":{"email":"2521f80753b38c2a6db18fdca240bac64c83328b@gmail.com","name":"Nick Hayes"},"message":"Ok, I've got the first two requirements down. There are more tests that I could add here, but I'm going to prioritise the remaining requirements for now, and come back to these later if there's time (I've covered the main stuff).","distinct":true,"url":"https://api.github.com/repos/nickhme/Pluto-kata/commits/3f558721695ddb4d47373a81b8044f2812cfe799"},{"sha":"0b34f44998d672a347de8a034f0d9a306a9b5e91","author":{"email":"2521f80753b38c2a6db18fdca240bac64c83328b@gmail.com","name":"Nick Hayes"},"message":"Back after a short break. I'm going to try something a little risky (given i'm halfway through), and do some refactoring on the rover. Since the rover should not know about its position in the world (realistically), I'm going to introduce a Pluto object, which will be initialised with the rover start position, and the map size. This will expose an interface that the rover can call to execute a move. We will, from now on, check that the rover is in the correct position by checking the internal state of Pluto, rather than by asking the rover itself. If I run out of time to do the obstacles bit, then so be it, but I think that this is the approach to go.","distinct":true,"url":"https://api.github.com/repos/nickhme/Pluto-kata/commits/0b34f44998d672a347de8a034f0d9a306a9b5e91"},{"sha":"de77c33567b39f973dbc934dfc9dd8708c5d4417","author":{"email":"2521f80753b38c2a6db18fdca240bac64c83328b@gmail.com","name":"Nick Hayes"},"message":"Created some basic tests for my pluto object. Have just used a static object for now, for both the rover and pluto. If I have time I'll rewrite as closures and expose the key parts as interfaces, but I'm a bit wary of time. Next I'll shift the move code from the rover to pluto.","distinct":true,"url":"https://api.github.com/repos/nickhme/Pluto-kata/commits/de77c33567b39f973dbc934dfc9dd8708c5d4417"},{"sha":"2d29cfa0839a2781fdadc80adc4b4dc0a28248c4","author":{"email":"2521f80753b38c2a6db18fdca240bac64c83328b@gmail.com","name":"Nick Hayes"},"message":"Split out the code for Pluto and Rover. Think I have been bitten by this, as updating the tests took quite some time. Only 1/4 time left. I'll see if I can get the wrapping tests written at least.","distinct":true,"url":"https://api.github.com/repos/nickhme/Pluto-kata/commits/2d29cfa0839a2781fdadc80adc4b4dc0a28248c4"},{"sha":"5a80098e20466133095eca00cbb1e1f0000f3604","author":{"email":"2521f80753b38c2a6db18fdca240bac64c83328b@gmail.com","name":"Nick Hayes"},"message":"I've implemented wrapping. I haven't tested every single permutation of the wrap, because I'm going to prioritise features and see if I can get the obstacles done. Note that I am more than happy to change my priorities after a discussion, but in this case, I think I would rather have the features done and say what tests I would have implemented to be ultra-thorough in this kata.","distinct":true,"url":"https://api.github.com/repos/nickhme/Pluto-kata/commits/5a80098e20466133095eca00cbb1e1f0000f3604"},{"sha":"d2ea6cb3678c211d3e6b5ecc871c7a9c4ad3ab40","author":{"email":"2521f80753b38c2a6db18fdca240bac64c83328b@gmail.com","name":"Nick Hayes"},"message":"Ok, it's been 2 hours, so this is the final commit. I've added obstacle checking (only one test case so far), which alerts when an obstacle has been hit. I kind of feel that I've traded test robustness for having slightly nicer abstractions (though they aren't that nice yet, as mentioned earlier, and I could definitely make the tests more readable). I could have added tests for every permutation of rotation, movement, etc. There are probably 30-40 total permutations to test, which are not being tested yet. As a result, maybe I typed 'N' when I should have typed 'S', and I don't know about it. I've also neglected to test the setup functions, and I haven't tested for passing correct types, null checking, etc. although I guess this is one of the things about weakly typed languages. I think in retrospect I probably should have prioritised testing over features, given we're sending a rover into space. I accept for mission critical compoments, you should have lots of tests... but hopefully not too many things are like that, since tons of tests definitely add a big overhead (and aren't very fun to write","distinct":true,"url":"https://api.github.com/repos/nickhme/Pluto-kata/commits/d2ea6cb3678c211d3e6b5ecc871c7a9c4ad3ab40"},{"sha":"189d71243055acd2bcc2e616b9bf92da2fa8d5de","author":{"email":"2521f80753b38c2a6db18fdca240bac64c83328b@gmail.com","name":"Nick Hayes"},"message":"Merge branch 'master' of https://github.com/nickhme/Pluto-kata","distinct":true,"url":"https://api.github.com/repos/nickhme/Pluto-kata/commits/189d71243055acd2bcc2e616b9bf92da2fa8d5de"}]}