By Developers, For Developers
| PDF Pg | Paper Pg | Type | Description | Fixed on | Comments |
|---|---|---|---|---|---|
| 69 | TYPO | Missing closing bracket in | 2010-09-13 | ||
| 10 | TYPO | “… the action Index() looks for the file /View/Home/Index.aspx” should be “…/Views/…” | 2010-09-13 | ||
| 46 | TYPO | “Line 22 of the test asserts that the collection ThingsToDo…” should be “Line 20…” | 2010-09-13 | ||
| 57 | TYPO | missing right parenthesis after Model.Title in code snippet <%= Html.Hidden(“oldTitle”, Model.Title %> | 2010-09-13 | ||
| 85 | TYPO | ”…we’re adding a new key called View-Name[“Topics”].” Should be ViewData[“Topics”] | 2010-09-13 | ||
| 70 | TYPO | the book shows Content ID=“Content1” for both the “Head” and “MainContent” sections, but when I generated the view, it generated “Content1” for “MainContent” and “Content2” for “Head”. Should be as generated by Visual Studio (Contents1,Contents2) | 2010-09-13 | ||
| 96 | TYPO | File indicated after line “Now let’s get this test to pass:” should be “helper/TestHelper.cs” not “controllers/TodoControllerTest.cs” | 2010-09-13 | ||
| 103 | TYPO | gray-background file indicator shows “controllers/SessionSummary.cs”, should be “models/SessionSummary.cs” to jibe with text “We’ll create SessionSummary under the Model directory,…” | 2010-09-13 | ||
| 103 | TYPO | “if (other.AddedTodos.Count != other.AddedTodos.Count) return false;” should be “if (AddedTodos.Count != other.AddedTodos.Count) return false;” | 2010-09-13 | ||
| 105 | ERROR | Need to call out that after adding private CreateTodo() it makes other tests fail (specifically Should_Add_ToDo_Item). This is a natural part of TDD, you make one test pass and others will fail. Tutorial should either point out how to fix the Should_Add_ToDo_Item test, or ask the reader to strike out on their own and compare their answers to the downloadable code in GetOrganizedFinal. | 2010-09-13 | ||
| 101 | ERROR | ViewData[“UserName”] = User.Identity.Name; Need to show how to get this test to pass, or have the reader strike out on their own to get it to pass. | 2010-09-13 | ||
| 109 | ERROR | Missing this test from the downloadable code. Also test appears to be failing, the parameters in the querystring don’t seem to be there. | 2010-09-13 | ||
| 126 | TYPO | Rewrite of ThoughtController.Create shows “ViewData[”RealTopics“]” ; should be “ViewData[”Topics“]” (no outer quotes for either) | 2010-09-13 | ||
| 130 | TYPO | Code listing starts with a superfluous(?) string, | 2010-09-13 | ||
| 132 | TYPO | Just about every file indicator (black on gray) shows “views/…”, even when the files obviously don’t go in “views” | 2010-09-13 | ||
| 133 | TYPO | Last line in Should_Display_errors_When_Todo_Is_Not_Valid should be “Assert.IsTrue(modelState.ContainsKey(”Title“));” | 2010-09-13 | ||
| 142 | TYPO | colorpicker.css listed twice | 2010-09-13 | ||
| 173 | TYPO | “The test requires a new method, GetAll(), on line 8”: method name should be Get | 2010-09-13 | ||
| 75 | ERROR | “We’re also required to override This statement isn’t correct. | 2010-09-13 | ||
| 81 | TYPO | There should be quotation mark after colorpicker.css, | 2010-09-13 | ||
| 37 | SUGGEST | ‘namespace GetOrganized.Models’ should be | 2010-09-13 | ||
| 69 | TYPO | missing ending double quote in function ResolveUrl in : <link href=“<%= ResolveUrl(”~/Content/colorpicker.css“) %>” rel=“Stylesheet” type=“text/css” /> | 2010-09-13 | ||
| 78 | SUGGEST | The TodoController.Convert method should have an HttpPost attribute, because it is taking action and changing data. | 2010-09-23 | ||
| 24 | ERROR | When explaining the new NUnit assertion format, the author makes a subtle, yet important semantic error. The new Assert.That style of assertion places the value under test first. The example should read: Assert.That(new Welcomer().SayHello(), Is.EqualTo(“Hello World”)); The reason it is important is the error message you get when the assertion fails. The second part is what is expected. The new Assert.That format has more descriptive error messages, so they are preferred. The change was intentional because it was more natural to understand that the first parameter is what is under test. (Can’t tell you how many people have reversed these in the legacy assertion format over the years). For newcomers to unit testing, the Assert.That format will likely prove easier to learn, and in the end are far more powerful. | |||
| 8 | ERROR | It should probably be made more explicit that if using the Express Editions of VS, ReSharper cannot be installed. This is because the Express Editions do not support Add-Ins and Extensions. (per jetbrains.net) | |||
| 24 | ERROR | In the Assert.That(… SayHello() is static in Welcomer, and so doesn’t need a new instance. | |||
| 64 | TYPO | We assign a model to a list of Topics… Should be We assign a list of Topics to a model | |||
| 96 | SUGGEST | On page 96, it says to write a test covering Create() to restrict to logged in users only. However by having Authorise on the class (as we already do) you already have the same effect. | |||
| 97 | ERROR | Page 97, Sec 5.3, Have brought in the MVC Contrib dll and tried out the Test, but it fails to assert. Think there is something missing in this section and more needs to be done to setup the test. | |||
| 113 | ERROR | It says that changing Mime type from application/octet-stream to image/jpg would render it as an image. In fact it appears to make no difference and it still comes up with a show/save box. | |||
| 109 | SUGGEST | I found the test on page 109 worked fine for me. | |||
| 133 | ERROR | in Should_Display_Errors_When_Todo_Is_Not_Valid() Need to create a todoController to access the Create method. so needs to be new todoController().Create(… | |||
| 136 | TYPO | To keep functionality same, on delete column need .Attributes(onclick => “return confirm(‘Are you sure you want to delete this?’);”) | |||
| 151 | TYPO | The code for CreateElements is the old code copied in, and not the required code for the partial. | |||
| 167 | TYPO | Code on page doesn’t match that in solution. e.g class needs to be sealed, the Id maps to Id not title, etc. | |||
| 173 | TYPO | ..test requires a new method, GetAll()… - should be Get() | |||
| 172 | ERROR | Sec 8.5, line 8, parameter should be originalTodo.Id, as that defines the key | |||
| 179 | TYPO | … then OpenSession() is called… it should read OpenCurrent() is called. | |||
| 185 | TYPO | … every time it is created, whereas … : created should be “called” | |||
| 97 | ERROR | The figure on that page suggests that we have to implement the Equals() function for the Topic class. But there’s another implementation of Equals() that we are missing to pass the unit test: the one for the Topic class. I know it’s mentioned in passing on page #95, but it would be nice to emphasis this a little more. public override bool Equals(object obj) As a general rule, some bits and pieces are missing to complete the application in the book. This is good, because it forces us to think. But it might be good to emphasise these missing bits more, ore to put them as exercises. Otherwise, I really enjoyed the book. Thanks. | |||
| 106 | TYPO | “5.2 Logging In Should probably read: | |||
| 144 | TYPO | Last paragraph: “On line 22 we select the element…” | |||
| CUOBn | fzBZf | ERROR | That’s way the bseetst answer so far! | ||
| 96 | TYPO | In TodoController: [HttpPost] there is NO newTodo. Should be todo. | |||
| 107 | TYPO | For PDF Version: 2010-06-28 Actual Sentence: Should be: | |||
| 175 | ERROR | instead: should be: |