title: Unit testing the Viewmodel
body: <p>I am sort of new to TDD. I have started creating the properties I need on the view model as plain auto property.</p>
  
  <pre><code>public string Firstname { get; set; }
  </code></pre>
  
  <p>Then I create a test</p>
  
  <pre><code>[TestMethod]
  [Tag("Property")]
  public void FirstNameTest()
  {
      ViewModel = new CustomerViewModel();
      ViewModel.PropertyChanged += (s, e) =&gt;
                                       {
                                           Assert.AreEqual("Firstname", e.PropertyName);
                                           Assert.AreEqual("Test", ViewModel.Firstname);
                                       };
      ViewModel.Firstname = "Test";
  }
  </code></pre>
  
  <p>Then I would extend the actual implementation to make the test pass like this:</p>
  
  <pre><code>public string Firstname
  {
      get { return _contact.FirstName; }
      set
      {
          if (_contact.FirstName == value)
              return;
  
          _contact.FirstName = value;
  
          RaisePropertyChanged(() =&gt; Firstname);
      }
  }
  </code></pre>
  
  <p>The problem I have is that test still passes for the Aut property. Any tip for me how i could improve my process?</p>