private void TestAddToModelNullParameters(CustomerContactEntity source, CustomerProfileModel model, string expectedParamName)
        {
            try
            {
                //Act
                source.AddToModel(model);

                //Assert
                Assert.Fail("The expected ArgumentNullException was not thrown.");
            }
            catch (ArgumentNullException ex)
            {
                Console.WriteLine(ex);

                //Assert
                expectedParamName.ShouldBe(ex.ParamName);
            }
        }
        public void AddToModel_Test()
        {
            //Arrange
            var user = TestHelper.PaDev1;
            var customerContactEntity = new CustomerContactEntity
            {
                Email          = user.Email,
                MailingAddress = user.Address,
                Phones         = new Dictionary <string, PhoneDefinedType>
                {
                    {
                        "cell", new PhoneDefinedType
                        {
                            Number    = user.Phones[0].Number,
                            Extension = user.Phones[0].Extension
                        }
                    },
                    {
                        "work", new PhoneDefinedType
                        {
                            Number    = user.Phones[1].Number,
                            Extension = user.Phones[1].Extension
                        }
                    }
                }
            };
            CustomerProfileModel model = new CustomerProfileModel();

            // Act
            customerContactEntity.AddToModel(model);
            model.EmailAddress.ShouldBe(customerContactEntity.Email);
            model.MailingAddress.ShouldBe(customerContactEntity.MailingAddress);

            var firstPhone = model.Phones.FirstOrDefault();

            firstPhone.ShouldNotBeNull();
            firstPhone.Number.ShouldBe(customerContactEntity.Phones["cell"].Number);
            firstPhone.Extension.ShouldBe(customerContactEntity.Phones["cell"].Extension);

            var lastPhone = model.Phones.Last();

            lastPhone.Number.ShouldBe(customerContactEntity.Phones["work"].Number);
            lastPhone.Extension.ShouldBe(customerContactEntity.Phones["work"].Extension);
        }