public void Convert()
        {
            var row = new PayPalPaymentConfirmationRow(Guid.NewGuid())
            {
                Amount                  = StringHelper.ValidString(),
                Currency                = StringHelper.ValidString(),
                CurrencyCode            = StringHelper.ValidString(),
                Custom                  = StringHelper.ValidString(),
                Email                   = StringHelper.ValidString(),
                FirstName               = StringHelper.ValidString(),
                Gross                   = StringHelper.ValidString(),
                LastName                = StringHelper.ValidString(),
                PaymentStatus           = StringHelper.ValidString(),
                PaymentStatusFromPayPal = StringHelper.ValidString(),
                Successful              = false,
                TransactionId           = StringHelper.ValidString(),
                UserId                  = Guid.NewGuid(),
                Response                = StringHelper.ValidString(),
                MCGross                 = StringHelper.ValidString(),
                ProtectionEligibility   = StringHelper.ValidString(),
                AddressStatus           = StringHelper.ValidString(),
                PayerId                 = StringHelper.ValidString(),
                Tax                = StringHelper.ValidString(),
                AddressStreet      = StringHelper.ValidString(),
                PaymentDate        = StringHelper.ValidString(),
                Charset            = StringHelper.ValidString(),
                AddressZip         = StringHelper.ValidString(),
                MCFee              = StringHelper.ValidString(),
                AddressCountryCode = StringHelper.ValidString(),
                AddressName        = StringHelper.ValidString(),
                PayerStatus        = StringHelper.ValidString(),
                Business           = StringHelper.ValidString(),
                AddressCountry     = StringHelper.ValidString(),
                Quantity           = StringHelper.ValidString(),
                TXNId              = StringHelper.ValidString(),
                PaymentType        = StringHelper.ValidString(),
                BTNId              = StringHelper.ValidString(),
                AddressState       = StringHelper.ValidString(),
                ReceiverEmail      = StringHelper.ValidString(),
                Shipping           = StringHelper.ValidString(),
                PaymentFee         = StringHelper.ValidString(),
                ShippingDiscount   = StringHelper.ValidString(),
                InsuranceAmount    = StringHelper.ValidString(),
                ReceiverId         = StringHelper.ValidString(),
                TXNType            = StringHelper.ValidString(),
                ItemName           = StringHelper.ValidString(),
                Discount           = StringHelper.ValidString(),
                ItemNumber         = StringHelper.ValidString(),
                ResidenceCountry   = StringHelper.ValidString(),
                ShippingMethod     = StringHelper.ValidString(),
                HandlingAmount     = StringHelper.ValidString(),
                TransactionSubject = StringHelper.ValidString(),
            };

            var payment = row.Convert();

            Assert.AreEqual <string>(row.Amount, payment.Amount);
            Assert.AreEqual <string>(row.Currency, payment.Currency);
            Assert.AreEqual <string>(row.CurrencyCode, payment.CurrencyCode);
            Assert.AreEqual <string>(row.Custom, payment.Custom);
            Assert.AreEqual <string>(row.Email, payment.Email);
            Assert.AreEqual <string>(row.FirstName, payment.FirstName);
            Assert.AreEqual <string>(row.Gross, payment.Gross);
            Assert.AreEqual <string>(row.LastName, payment.LastName);
            Assert.AreEqual <string>(row.PaymentStatus, payment.PaymentStatus);
            Assert.AreEqual <string>(row.PaymentStatusFromPayPal, payment.PaymentStatusFromPayPal);
            Assert.AreEqual <string>(row.TransactionId, payment.TransactionId);
            Assert.AreEqual <string>(row.Response, payment.Response);
            Assert.AreEqual <string>(payment.MCGross, row.MCGross);
            Assert.AreEqual <string>(payment.ProtectionEligibility, row.ProtectionEligibility);
            Assert.AreEqual <string>(payment.AddressStatus, row.AddressStatus);
            Assert.AreEqual <string>(payment.PayerId, row.PayerId);
            Assert.AreEqual <string>(payment.Tax, row.Tax);
            Assert.AreEqual <string>(payment.AddressStreet, row.AddressStreet);
            Assert.AreEqual <string>(payment.PaymentDate, row.PaymentDate);
            Assert.AreEqual <string>(payment.Charset, row.Charset);
            Assert.AreEqual <string>(payment.AddressZip, row.AddressZip);
            Assert.AreEqual <string>(payment.MCFee, row.MCFee);
            Assert.AreEqual <string>(payment.AddressCountryCode, row.AddressCountryCode);
            Assert.AreEqual <string>(payment.AddressName, row.AddressName);
            Assert.AreEqual <string>(payment.PayerStatus, row.PayerStatus);
            Assert.AreEqual <string>(payment.Business, row.Business);
            Assert.AreEqual <string>(payment.AddressCountry, row.AddressCountry);
            Assert.AreEqual <string>(payment.Quantity, row.Quantity);
            Assert.AreEqual <string>(payment.TXNId, row.TXNId);
            Assert.AreEqual <string>(payment.PaymentType, row.PaymentType);
            Assert.AreEqual <string>(payment.BTNId, row.BTNId);
            Assert.AreEqual <string>(payment.AddressState, row.AddressState);
            Assert.AreEqual <string>(payment.ReceiverEmail, row.ReceiverEmail);
            Assert.AreEqual <string>(payment.Shipping, row.Shipping);
            Assert.AreEqual <string>(payment.PaymentFee, row.PaymentFee);
            Assert.AreEqual <string>(payment.ShippingDiscount, row.ShippingDiscount);
            Assert.AreEqual <string>(payment.InsuranceAmount, row.InsuranceAmount);
            Assert.AreEqual <string>(payment.ReceiverId, row.ReceiverId);
            Assert.AreEqual <string>(payment.TXNType, row.TXNType);
            Assert.AreEqual <string>(payment.ItemName, row.ItemName);
            Assert.AreEqual <string>(payment.Discount, row.Discount);
            Assert.AreEqual <string>(payment.ItemNumber, row.ItemNumber);
            Assert.AreEqual <string>(payment.ResidenceCountry, row.ResidenceCountry);
            Assert.AreEqual <string>(payment.ShippingMethod, row.ShippingMethod);
            Assert.AreEqual <string>(payment.HandlingAmount, row.HandlingAmount);
            Assert.AreEqual <string>(payment.TransactionSubject, row.TransactionSubject);
            Assert.AreEqual <bool>(row.Successful, payment.Successful);
            Assert.AreEqual <Guid>(row.UserId, payment.User.Identifier);
            Assert.AreEqual <Guid>(row.ApplicationId, payment.Application.Identifier);
        }