public void TransformBySettingNullInNestedMemeber()
        {
            Client client = new Client()
            {
                Name = "Douglas",
                Surname = "Aguiar",
                Age = 28,
                Gender = Gender.Male,
                Company = new Company(5, "Acme co", null)
            };

            ClientViewModel clientViewModel = Decepticon.Transform<Client, ClientViewModel>(client);

            Assert.AreEqual("Douglas", clientViewModel.Name);
            Assert.AreEqual("Aguiar", clientViewModel.Surname);
            Assert.AreEqual(28, clientViewModel.Age);
            Assert.AreEqual(Gender.Male, clientViewModel.Gender);
            Assert.AreEqual("Acme co", clientViewModel.Company.Name);
            Assert.AreEqual(5, clientViewModel.Company_Id);
            Assert.IsTrue(string.IsNullOrEmpty(clientViewModel.Company_City_Name));
        }
        public void TransformPersonToClientViewModelWithoutInstantiate()
        {
            Client client = new Client()
            {
                Name = "Douglas",
                Surname = "Aguiar",
                Age = 28,
                Gender = Gender.Male,
                Company = new Company(5, "Acme co", new City("BH"))
            };

            ClientViewModel clientViewModel = Decepticon.Transform<Person, ClientViewModel>(client);

            Assert.AreEqual("Douglas", clientViewModel.Name);
            Assert.AreEqual("Aguiar", clientViewModel.Surname);
            Assert.AreEqual(28, clientViewModel.Age);
            Assert.AreEqual(Gender.Male, clientViewModel.Gender);
            Assert.IsNull(clientViewModel.Company);
            Assert.AreEqual(0, clientViewModel.Company_Id);
            Assert.IsNullOrEmpty(clientViewModel.Company_City_Name);
        }
        public void TransformClientToClientViewModel()
        {
            Client client = new Client()
            {
                Name = "Douglas",
                Surname = "Aguiar",
                Age = 28,
                Gender = Gender.Male,
                Company = new Company(5, "Acme co", new City("BH"))
            };

            ClientViewModel clientViewModel = new ClientViewModel();

            Decepticon.Transform(client, clientViewModel);

            Assert.AreEqual("Douglas", clientViewModel.Name);
            Assert.AreEqual("Aguiar", clientViewModel.Surname);
            Assert.AreEqual(28, clientViewModel.Age);
            Assert.AreEqual(Gender.Male, clientViewModel.Gender);
            Assert.AreEqual("Acme co", clientViewModel.Company.Name);
            Assert.AreEqual(5, clientViewModel.Company_Id);
            Assert.AreEqual("BH", clientViewModel.Company_City_Name);
        }