---
title: "Video: (part 6 - Total n00b mistakes) Go Game Engine with TDD and Pair Programming"
url: "https://osherove.com/blog/2012/7/5/video-part-6-total-n00b-mistakes-go-game-engine-with-tdd-and.md"
canonical: "https://osherove.com/blog/2012/7/5/video-part-6-total-n00b-mistakes-go-game-engine-with-tdd-and.html"
published: "2012-07-05T07:38:51"
updated: "2012-07-05T07:38:51"
tags: ["Unit Testing", "video"]
author: "Roy Osherove"
description: "If you calculate by hours, this might be called “the first session of the 2nd day” of Raymond and me working together. This was by far the most frustrating one of the 6 we’ve had so far. all the other sessions are here…"
usage: "Licensed under CC BY 4.0 — reuse, quote and adapt with attribution (Roy Osherove, link to the original page)."
license: "https://creativecommons.org/licenses/by/4.0/"
---

# Video: (part 6 - Total n00b mistakes) Go Game Engine with TDD and Pair Programming

By Roy Osherove July 5, 2012 In [Unit Testing](https://osherove.com/blog/category/unit-testing), [video](https://osherove.com/blog/category/video)

**Historical article** · Originally published July 5, 2012; technical details may be outdated.

If you calculate by hours, this might be called “the first session of the 2nd day” of Raymond and me working together.

This was by far the most frustrating one of the 6 we’ve had so far. [all the other sessions are here](http://artofunittesting.com/), and [the source code](https://github.com/RayyLim).

- We start out the session with a weird behavior by the tests (they fail on my machine and pass on Raymond’s . So we debug right out of the gate. 
- see 0:01:45 for [NCrunch](http://ncrunch.net/) telling me where to look for the bug and me glaring at that like an idiot and not getting it.
- see 0:02:00 to see how good test naming helps me wade through the bunch of failing tests and get a “meta” understanding about their complexity, and I’m able to choos a really simple on, and realize the bug might be not related to a specific scenario. This is a HUGE time saver for idiots like me who didn’t get the hits from the tool on the first go, and need to start manually figuring things out.
- At some point we debug the wrong test. Seriously.
- Near the end, we discover that we had a bug in the way we fill the board all along. We switch the x and y positions of the board DSL for tests, and it’s biting us in the ass two sessions after we did it.
- Both of the bugs (in the start and in the end of the session) we had in this VERY frustrating sessions, were to do with our FillBoard method - a piece of logic in our tests. That’s what happens when you have logic in tests, and we should have been more careful and test that. One bug had to do with how we split the strings, and the other was in how we add stones. 10 lines of code, 90 minutes of frustrations X 2 people.
- see 1:22:20 to see our VERY slow realization that we might have switched out X-Y positions on the board in our helper method. it takes me two minutes to “get” it, while Raymond patiently explains to me and my slow brain why he’s right. And then, two minutes later (1:23:50), it hits me and the horror on my face is just… human.
- In the last 3 seconds I forget to turn off my camera. But I’m too tired to notice.
- Inspite of all this, we still get some s#!t done, and knock off a couple of features like winner by counting cells.
- We end up with a partial feature of multiple cells (only one to the right), but we now have something to aspire to finish in the next session.

[![](https://osherove.com/img/video/yt-mEpj4g68TQ8.jpg)Play videoTDD Pairing Session 6: Total Noob Fail - Go Game Engine with Raymond Lim](https://www.youtube.com/watch?v=mEpj4g68TQ8)

## More in Unit Testing

[All posts in Unit Testing](https://osherove.com/blog/category/unit-testing)

- Jul 9, 2012

    ### [Video: (part 7 - The bug that wouldn't die) Go Game Engine with TDD and Pair Programming](https://osherove.com/blog/2012/7/9/video-part-7-the-bug-that-wouldnt-die-go-game-engine-with-td.html)

- Jul 8, 2012

    ### [Faking static methods in Moq, FakeItEasy and NSubstitute might be closer than imagined](https://osherove.com/blog/2012/7/8/faking-static-methods-in-moq-fakeiteasy-and-nsubstitute-migh.html)

- Jul 2, 2012

    ### [Video: (part 5 - A Test DSL) Go Game Engine with TDD and Pair Programming](https://osherove.com/blog/2012/7/2/video-part-5-a-test-dsl-go-game-engine-with-tdd-and-pair-pro.html)

- Jun 29, 2012

    ### [Refactoring Dillema Video: (part 4) Building a Go Game Engine with TDD and Pair Programming](https://osherove.com/blog/2012/6/29/refactoring-dillema-video-part-4-building-a-go-game-engine-w.html)


---

## About the author

**Roy Osherove**: Senior Solutions Architect at AWS working on AI for production and AI-driven development; author of The Art of Unit Testing and Elastic Leadership, with about 20 years of consulting and training on unit testing, TDD, team leadership and continuous delivery.

### Sites

- [RobotPaper](https://robotpaper.ai/): This blog: AI patterns and anti-patterns, AI and coding agents, and engineering leadership.
- [osherove.com](https://osherove.com): Roy's personal site. Author of The Art of Unit Testing and Elastic Leadership; consulting and training on unit testing, TDD, team leadership and continuous delivery, plus about 20 years of blog posts.
- [The Art of Unit Testing](https://www.artofunittesting.com): The Art of Unit Testing, 3rd Edition (Manning): readable, maintainable, trustworthy unit tests, plus TDD workshops in C#, JavaScript, Java and Kotlin.
- [5whys.com](https://www.5whys.com): Roy's writing on software team leadership: self-organizing teams, surviving chaos, learning mode and the Elastic Leadership model.
- [Pipeline Driven](https://pipelinedriven.org): Continuous delivery and DevOps practices: build patterns, pipeline-friendly testing, DevOps metrics and enterprise DevOps.
- [Elastic Leadership](https://www.elasticleadership.com): Elastic Leadership, Roy's framework for software team leaders (survival, learning and self-organizing modes).

### Social

- X: https://x.com/royosherove
- LinkedIn: https://www.linkedin.com/in/osherove/

### Contact

- Contact form: https://forms.gle/jQSx5KoXvrVA1JCK7

### License

Licensed under CC BY 4.0 — reuse, quote and adapt with attribution (Roy Osherove, link to the original page). License: https://creativecommons.org/licenses/by/4.0/
