public void GetFlashMessages_returns_a_collection()
        {
            TempDataDictionary tempData = new TempDataDictionary();
            var original = new FlashMessageCollection(tempData);
            original.Add(new FlashMessage("info", "Hello, World!"));

            var flashMessages = tempData.GetFlashMessages();
            Assert.AreEqual(1, flashMessages.Count());
        }
 /// <summary>
 /// Add a new message to the flash with the given key.
 /// </summary>
 /// <param name="controller">Controller.</param>
 /// <param name="key">Flash key.</param>
 /// <param name="message">Flash message.</param>
 public static void Flash(this Controller controller, string key, string message)
 {
     Contract.Requires<ArgumentNullException>(controller != null);
     Contract.Requires<NullReferenceException>(controller.TempData != null);
     Contract.Requires<ArgumentNullException>(key != null);
     Contract.Requires<ArgumentNullException>(message != null);
     Contract.Requires<ArgumentException>(!string.IsNullOrEmpty(key));
     FlashMessageCollection flashMessageCollection = new FlashMessageCollection(controller.TempData);
     FlashMessage flashMessage = new FlashMessage(key, message);
     flashMessageCollection.Add(flashMessage);
 }