public void Serialized_Hidden_Returns_A_Hidden_Field_With_The_Entity_Serialized()
        {
            //Arrang
            Customer customer = new Customer();

            
            string serializedCustomer = new SelfTrackingEntityBase64Converter<Customer>().ToBase64(customer);
            
            ViewDataDictionary viewData = new ViewDataDictionary();
            
            SViewContext viewContext = new SViewContext();
            viewContext.ViewData = viewData;
            
            SIViewDataContainer viewDataContainer = new SIViewDataContainer();
            viewDataContainer.ViewDataGet = () => viewData;
            

            HtmlHelper<Customer> helper = new HtmlHelper<Customer>(viewContext, viewDataContainer);
            
            //Act
            MvcHtmlString result = helper.SerializedHidden(customer);
            
            //Assert
            //Parse the result (it creates XML-Compliant HTML)
            XElement element = XElement.Parse(result.ToHtmlString());

            //Ensure it's an input tag.
            Assert.AreEqual("input", element.Name.LocalName);

            //Ensure it's a hidden field.
            Assert.AreEqual("hidden",element.Attribute("type").Value);

            //Ensure it has the correct name
            Assert.AreEqual("CustomerSTE",element.Attribute("name").Value);

            //Ensure it has the correct id
            Assert.AreEqual("CustomerSTE",element.Attribute("id").Value);

            //Ensure the serialized customer is serialized correctly.
            Assert.AreEqual(serializedCustomer, element.Attribute("value").Value);
        }
        public void Serialized_Hidden_Returns_An_Empty_String_When_Entity_Is_Null()
        {
            //Arrange
            ViewDataDictionary viewData = new ViewDataDictionary();

            
            SViewContext viewContext = new SViewContext();
            viewContext.ViewData = viewData;

            
            SIViewDataContainer viewDataContainer = new SIViewDataContainer();
            viewDataContainer.ViewDataGet = () => viewData;

            
            HtmlHelper<Customer> helper = new HtmlHelper<Customer>(viewContext, viewDataContainer);
            
            //Act
            MvcHtmlString result = helper.SerializedHidden(null);
            
            //Assert
            Assert.AreEqual(MvcHtmlString.Empty.ToHtmlString(), result.ToHtmlString());
        }