diff --git a/BrentEdwards.MVVM.Test/BrentEdwards.MVVM.Test.csproj b/BrentEdwards.MVVM.Test/BrentEdwards.MVVM.Test.csproj
index c4e8986..489bd7a 100644
--- a/BrentEdwards.MVVM.Test/BrentEdwards.MVVM.Test.csproj
+++ b/BrentEdwards.MVVM.Test/BrentEdwards.MVVM.Test.csproj
@@ -60,6 +60,7 @@
+
diff --git a/BrentEdwards.MVVM.Test/ViewModelBaseTests.cs b/BrentEdwards.MVVM.Test/ViewModelBaseTests.cs
new file mode 100644
index 0000000..3349a8c
--- /dev/null
+++ b/BrentEdwards.MVVM.Test/ViewModelBaseTests.cs
@@ -0,0 +1,43 @@
+using System;
+using System.Text;
+using System.Collections.Generic;
+using System.Linq;
+using Microsoft.VisualStudio.TestTools.UnitTesting;
+using System.ComponentModel;
+
+namespace BrentEdwards.MVVM.Test
+{
+ [TestClass]
+ public sealed class ViewModelBaseTests
+ {
+ private class MockViewModel : ViewModelBase
+ {
+ public void TriggerPropertyChanged(string propertyName)
+ {
+ NotifyPropertyChanged(propertyName);
+ }
+ }
+
+ private List _propertiesChanged;
+ private void PropertyChanged(object sender, PropertyChangedEventArgs e)
+ {
+ _propertiesChanged.Add(e.PropertyName);
+ }
+
+ [TestMethod]
+ public void NotifyPropertyChanged()
+ {
+ _propertiesChanged = new List();
+
+ var viewModel = new MockViewModel();
+ var propertyName = Guid.NewGuid().ToString();
+
+ viewModel.PropertyChanged += PropertyChanged;
+ viewModel.TriggerPropertyChanged(propertyName);
+ viewModel.PropertyChanged -= PropertyChanged;
+
+ Assert.AreEqual(1, _propertiesChanged.Count);
+ Assert.IsTrue(_propertiesChanged.Contains(propertyName));
+ }
+ }
+}
diff --git a/BrentEdwards.MVVM/BrentEdwards.MVVM.csproj b/BrentEdwards.MVVM/BrentEdwards.MVVM.csproj
index 84d5b25..b1027e7 100644
--- a/BrentEdwards.MVVM/BrentEdwards.MVVM.csproj
+++ b/BrentEdwards.MVVM/BrentEdwards.MVVM.csproj
@@ -58,6 +58,7 @@
+