Exemple #1
0
        /// <summary>
        /// use stub to get info of a PriceList via web services
        /// </summary>
        /// <param name="PriceListPaths">PriceLists to get, Array of paths</param>
        /// <param name="attributes">attributes to get, Array of attribute names</param>
        /// <returns>ArrayList of TGetInfo_Return</returns>
        public ArrayList getInfo(string[] PriceListPaths, string[] attributes, string[] languages)
        {
            TGetInfo_Return[] PriceLists_out = stub.getInfo(PriceListPaths, attributes, languages);

            ArrayList result = new ArrayList();

            for (int i = 0; i < PriceLists_out.Length; i++)
            {
                TGetInfo_Return PriceList_out = PriceLists_out[i];

                if (PriceList_out.Error == null)
                {
                    Console.WriteLine("successfully retrieved PriceList: " + PriceList_out.Path);
                    result.Add(PriceList_out);
                }
                else
                {
                    Console.WriteLine("an error occured (Epages Error):\n" + PriceList_out.Error.Message);
                }
            }

            return(result);
        }
        /// <summary>
        /// use stub to get info of a User via web services
        /// </summary>
        /// <param name="UserPaths">Users to get, Array of paths</param>
        /// <param name="attributes">attributes to get, Array of attribute names</param>
        /// <param name="addr_attributes">address attributes to get, Array of attribute names</param>
        /// <returns>ArrayList of TGetInfo_Return</returns>
        public ArrayList getInfo(string[] UserPaths, string[] attributes, string[] addr_attributes)
        {
            TGetInfo_Return[] Users_out = stub.getInfo(UserPaths, attributes, addr_attributes);

            ArrayList result = new ArrayList();

            for (int i = 0; i < Users_out.Length; i++)
            {
                TGetInfo_Return User_out = Users_out[i];

                if (User_out.Error == null)
                {
                    Console.WriteLine("successfully retrieved User: "******"an error occured (Epages Error):\n" + User_out.Error.Message);
                }
            }

            return(result);
        }
Exemple #3
0
        /// <summary>
        /// test getInfo() and check result against created resp. updated Catalog
        /// </summary>
        /// <param name="alreadyUpdated">check result against created or updated Catalog</param>
        public void getInfo(bool alreadyUpdated)
        {
            string[]  CatalogPaths = new string[] { full };
            ArrayList Catalogs_out = serviceClient.getInfo(CatalogPaths, new string[] { "Date" });

            // test if getinfo was successful and if all data are equal to input
            Assert.AreEqual(1, Catalogs_out.Count, "get info result set");

            TGetInfo_Return Catalog_out = (TGetInfo_Return)Catalogs_out.ToArray()[0];

            Assert.AreEqual(alias, Catalog_out.Alias, "Catalog alias");
            Assert.AreEqual(2, Catalog_out.Name.Length, "Number of languages");

            StringDictionary resultName = new StringDictionary();

            resultName.Add(Catalog_out.Name[0].LanguageCode, Catalog_out.Name[0].Value);
            resultName.Add(Catalog_out.Name[1].LanguageCode, Catalog_out.Name[1].Value);

            if (alreadyUpdated)
            {
                Assert.AreEqual(Catalog_update.Attributes[0].Name, Catalog_out.Attributes[0].Name, "attribute name: Date");
                Assert.AreEqual(DateTime.Parse(Catalog_update.Attributes[0].Value), DateTime.Parse(Catalog_out.Attributes[0].Value), "attribute value: Date");
                Assert.AreEqual(Catalog_update.IsVisible, Catalog_out.IsVisible, "IsVisible");

                Assert.AreEqual(Catalog_update.Name[0].Value, resultName[Catalog_update.Name[0].LanguageCode], "initial localized Name");
                Assert.AreEqual(Catalog_update.Name[1].Value, resultName[Catalog_update.Name[1].LanguageCode], "initial localized Name");
            }
            else
            {
                Assert.AreEqual(Catalog_in.Attributes[0].Name, Catalog_out.Attributes[0].Name, "attribute name: Date");
                Assert.AreEqual(DateTime.Parse(Catalog_in.Attributes[0].Value), DateTime.Parse(Catalog_out.Attributes[0].Value), "attribute value: Date");
                Assert.AreEqual(Catalog_in.IsVisible, Catalog_out.IsVisible, "IsVisible");

                Assert.AreEqual(Catalog_in.Name[0].Value, resultName[Catalog_in.Name[0].LanguageCode], "updated localized Name");
                Assert.AreEqual(Catalog_in.Name[1].Value, resultName[Catalog_in.Name[1].LanguageCode], "updated localized Name");
            }
        }
Exemple #4
0
        /// <summary>
        /// test getInfo() and check result against created resp. updated Order
        /// </summary>
        /// <param name="alreadyUpdated">check result against created or updated Order</param>
        public void getInfo(bool alreadyUpdated)
        {
            string[]  OrderPaths = new string[] { path + alias };
            ArrayList Orders_out = serviceClient.getInfo(OrderPaths, new string[] { "Comment" });

            // test if getinfo was successful and if all data are equal to input
            Assert.AreEqual(1, Orders_out.Count, "get info result set");

            TGetInfo_Return Order_out = (TGetInfo_Return)Orders_out.ToArray()[0];

            Assert.AreEqual(alias, Order_out.Alias, "Order alias");

            if (alreadyUpdated)
            {
                Assert.AreEqual(Order_update.BillingAddress.FirstName, Order_out.BillingAddress.FirstName, "FirstName");
                Assert.AreEqual(Order_update.BillingAddress.LastName, Order_out.BillingAddress.LastName, "LastName");
                Assert.AreEqual(Order_update.BillingAddress.Street, Order_out.BillingAddress.Street, "Street");
                Assert.AreEqual(Order_update.Attributes[0].Value, Order_out.Attributes[0].Value, "Comment");

                Assert.AreEqual(Order_update.CreationDate, Order_out.CreationDate, "CreationDate");
                Assert.AreEqual(Order_update.ViewedOn, Order_out.ViewedOn, "ViewedOn");
            }
            else
            {
                Assert.AreEqual(Order_in.BillingAddress.FirstName, Order_out.BillingAddress.FirstName, "FirstName");
                Assert.AreEqual(Order_in.BillingAddress.LastName, Order_out.BillingAddress.LastName, "LastName");
                Assert.AreEqual(Order_in.BillingAddress.Street, Order_out.BillingAddress.Street, "Street");
                Assert.AreEqual(Order_in.Attributes[0].Value, Order_out.Attributes[0].Value, "Comment");

                Assert.AreEqual(Order_in.CreationDate, Order_out.CreationDate, "CreationDate");
                Assert.AreEqual(Order_in.ViewedOn, Order_out.ViewedOn, "ViewedOn");
            }
            Assert.AreEqual(Order_in.BillingAddress.VerifiedOn, Order_out.BillingAddress.VerifiedOn, "VerifiedOn");
            Assert.AreEqual(Order_in.BillingAddress.Birthday, Order_out.BillingAddress.Birthday, "Birthday");
            Assert.AreEqual(Order_in.BillingAddress.EMail, Order_out.BillingAddress.EMail, "EMail");
        }
        /// <summary>
        /// test getInfo() and check result against created resp. updated customer
        /// </summary>
        /// <param name="alreadyUpdated">check result against created or updated customer</param>
        public void getInfo(bool alreadyUpdated)
        {
            string[]  customerPaths = new string[] { path + alias };
            ArrayList customers_out = serviceClient.getInfo(customerPaths, new string[] { "Comment" });

            // test if getinfo was successful and if all data are equal to input
            Assert.AreEqual(1, customers_out.Count, "get info result set");

            TGetInfo_Return customer_out = (TGetInfo_Return)customers_out.ToArray()[0];

            Assert.AreEqual(alias, customer_out.Alias, "customer alias");

            if (alreadyUpdated)
            {
                Assert.AreEqual(customer_update.BillingAddress.FirstName, customer_out.BillingAddress.FirstName, "FirstName");
                Assert.AreEqual(customer_update.BillingAddress.LastName, customer_out.BillingAddress.LastName, "LastName");
                Assert.AreEqual(customer_update.BillingAddress.Street, customer_out.BillingAddress.Street, "Street");
                Assert.AreEqual(customer_update.BillingAddress.CodePorte, customer_out.BillingAddress.CodePorte, "code porte");
                Assert.AreEqual(customer_update.Attributes[0].Value, customer_out.Attributes[0].Value, "Comment");

                Assert.AreEqual(customer_update.IsDoOrderAllowed, customer_out.IsDoOrderAllowed, "IsDoOrderAllowed");
            }
            else
            {
                Assert.AreEqual(customer_in.BillingAddress.FirstName, customer_out.BillingAddress.FirstName, "FirstName");
                Assert.AreEqual(customer_in.BillingAddress.LastName, customer_out.BillingAddress.LastName, "LastName");
                Assert.AreEqual(customer_in.BillingAddress.Street, customer_out.BillingAddress.Street, "Street");
                Assert.AreEqual(customer_in.BillingAddress.CodePorte, customer_out.BillingAddress.CodePorte, "code porte");
                Assert.AreEqual(customer_in.Attributes[0].Value, customer_out.Attributes[0].Value, "Comment");

                Assert.AreEqual(customer_in.IsDoOrderAllowed, customer_out.IsDoOrderAllowed, "IsDoOrderAllowed");
            }
            Assert.AreEqual(customer_in.BillingAddress.VerifiedOn, customer_out.BillingAddress.VerifiedOn, "VerifiedOn");
            Assert.AreEqual(customer_in.BillingAddress.Birthday, customer_out.BillingAddress.Birthday, "Birthday");
            Assert.AreEqual(customer_in.BillingAddress.EMail, customer_out.BillingAddress.EMail, "EMail");
        }
Exemple #6
0
        /// <summary>
        /// test getInfo() and check result against created resp. updated User
        /// </summary>
        /// <param name="alreadyUpdated">check result against created or updated User</param>
        public void getInfo(bool alreadyUpdated)
        {
            string[]  UserPaths = new string[] { path + alias };
            ArrayList Users_out = serviceClient.getInfo(UserPaths, new string[] { "ChallengePhrase" });

            // test if getinfo was successful and if all data are equal to input
            Assert.AreEqual(1, Users_out.Count, "get info result set");

            TGetInfo_Return User_out = (TGetInfo_Return)Users_out.ToArray()[0];

            Assert.AreEqual(alias, User_out.Alias, "user alias");

            Hashtable outAddresses = new Hashtable();

            foreach (TAddressNamed address in User_out.AdditionalAddresses)
            {
                outAddresses.Add(address.Street, address);
            }

            if (alreadyUpdated)
            {
                Assert.AreEqual(User_update.Name, User_out.Name, "Name");
                Assert.AreEqual(User_update.BillingAddress.FirstName, User_out.BillingAddress.FirstName, "getInfo() updated FirstName");
                Assert.AreEqual(User_update.BillingAddress.LastName, User_out.BillingAddress.LastName, "getInfo() updated LastName");
                Assert.AreEqual(User_update.BillingAddress.Street, User_out.BillingAddress.Street, "getInfo() updated Street");
                Assert.AreEqual(User_update.BillingAddress.CodePorte, User_out.BillingAddress.CodePorte, "getInfo() updated code porte");
                Assert.AreEqual(User_update.Attributes[0].Value, User_out.Attributes[0].Value, "getInfo() updated ChallengePhrase");
                Assert.AreEqual(User_update.DeleteConfirmation, User_out.DeleteConfirmation, "getInfo() updated DeleteConfirmation");
                foreach (TAddressNamed upAddress in User_update.AdditionalAddresses)
                {
                    TAddressNamed outAddress = (TAddressNamed)outAddresses[upAddress.Street];
                    if (upAddress.Alias != null && upAddress.Alias != "")
                    {
                        Assert.AreEqual(upAddress.Alias, outAddress.Alias, "getInfo() updated AdditionalAddresses Alias");
                    }
                    Assert.AreEqual(upAddress.LastName, outAddress.LastName, "getInfo() updated AdditionalAddresses LastName");
                }
            }
            else
            {
                Assert.AreEqual(User_in.Name, User_out.Name, "Name");
                Assert.AreEqual(User_in.BillingAddress.FirstName, User_out.BillingAddress.FirstName, "getInfo() original FirstName");
                Assert.AreEqual(User_in.BillingAddress.LastName, User_out.BillingAddress.LastName, "getInfo() original LastName");
                Assert.AreEqual(User_in.BillingAddress.Street, User_out.BillingAddress.Street, "getInfo() original Street");
                Assert.AreEqual(User_in.BillingAddress.CodePorte, User_out.BillingAddress.CodePorte, "getInfo() original code porte");
                Assert.AreEqual(User_in.Attributes[0].Value, User_out.Attributes[0].Value, "getInfo() original ChallengePhrase");
                Assert.AreEqual(User_in.DeleteConfirmation, User_out.DeleteConfirmation, "getInfo() original DeleteConfirmation");
                Assert.AreEqual(User_in.AdditionalAddresses.Length, User_out.AdditionalAddresses.Length, "getInfo() original number AdditionalAddresses");

                foreach (TAddressNamed inAddress in User_in.AdditionalAddresses)
                {
                    TAddressNamed outAddress = (TAddressNamed)outAddresses[inAddress.Street];
                    if (inAddress.Alias != null && inAddress.Alias != "")
                    {
                        Assert.AreEqual(inAddress.Alias, outAddress.Alias, "getInfo() original AdditionalAddresses Alias");
                    }
                    Assert.AreEqual(inAddress.LastName, outAddress.LastName, "getInfo() original AdditionalAddresses LastName");
                }
            }
            Assert.AreEqual(User_in.EMail, User_out.EMail, "getInfo() EMail");
            Assert.IsFalse(User_out.Password == User_in.Password, "getInfo() Password");
        }
Exemple #7
0
        /// <summary>
        /// test getInfo() and check result against created resp. updated Product
        /// </summary>
        /// <param name="alreadyUpdated">check result against created or updated Product</param>
        public void getInfo(bool alreadyUpdated)
        {
            string[]  ProductPaths = new string[] { path + alias };
            ArrayList Products_out = serviceClient.getInfo(ProductPaths, new string[] { "AvailabilityDate" });

            // test if getinfo was successful and if all data are equal to input
            Assert.AreEqual(1, Products_out.Count, "get info result set");

            TGetInfo_Return Product_out = (TGetInfo_Return)Products_out.ToArray()[0];

            Assert.AreEqual(alias, Product_out.Alias, "product alias");
            Assert.AreEqual(2, Product_out.Name.Length, "Number of languages");

            Hashtable resultName = new Hashtable();

            resultName.Add(Product_out.Name[0].LanguageCode, Product_out.Name[0].Value);
            resultName.Add(Product_out.Name[1].LanguageCode, Product_out.Name[1].Value);

            Hashtable resultLongDesc = new Hashtable();

            resultLongDesc.Add(Product_out.Text[0].LanguageCode, Product_out.Text[0].Value);
            resultLongDesc.Add(Product_out.Text[1].LanguageCode, Product_out.Text[1].Value);

            Hashtable resultTitle = new Hashtable();

            resultTitle.Add(Product_out.Title[0].LanguageCode, Product_out.Title[0].Value);
            resultTitle.Add(Product_out.Title[1].LanguageCode, Product_out.Title[1].Value);

            Hashtable resultPrice = new Hashtable();

            resultPrice.Add(Product_out.ProductPrices[0].CurrencyID, Product_out.ProductPrices[0].Price);
            resultPrice.Add(Product_out.ProductPrices[1].CurrencyID, Product_out.ProductPrices[1].Price);

            Hashtable resultManuPrice = new Hashtable();

            resultManuPrice.Add(Product_out.ManufacturerPrices[0].CurrencyID, Product_out.ManufacturerPrices[0].Price);

            Hashtable resultDepoPrice = new Hashtable();

            resultDepoPrice.Add(Product_out.DepositPrices[0].CurrencyID, Product_out.DepositPrices[0].Price);

            Hashtable resultPrePrice = new Hashtable();

            resultPrePrice.Add(Product_out.PrepaymentPrices[0].CurrencyID, Product_out.PrepaymentPrices[0].Price);

            Hashtable resultEcoPrice = new Hashtable();

            resultEcoPrice.Add(Product_out.EcoParticipationPrices[0].CurrencyID, Product_out.EcoParticipationPrices[0].Price);

            Hashtable resultShippings = new Hashtable();

            resultShippings.Add(Product_out.ShippingMethods[0].Path, 1);
            resultShippings.Add(Product_out.ShippingMethods[1].Path, 2);

            if (alreadyUpdated)
            {
                Assert.AreEqual(Product_update.Name[0].Value, resultName[Product_update.Name[0].LanguageCode], "updated localized Name");
                Assert.AreEqual(Product_update.Name[1].Value, resultName[Product_update.Name[1].LanguageCode], "updated localized Name");
                Assert.AreEqual(Product_update.Text[0].Value, resultLongDesc[Product_update.Text[0].LanguageCode], "updated localized long description");
                Assert.AreEqual(Product_update.Text[1].Value, resultLongDesc[Product_update.Text[1].LanguageCode], "updated localized long description");
                Assert.AreEqual(Product_update.Title[0].Value, resultTitle[Product_update.Title[0].LanguageCode], "updated localized title");
                Assert.AreEqual(Product_update.Title[1].Value, resultTitle[Product_update.Title[1].LanguageCode], "updated localized title");

                Assert.AreEqual(Product_update.ProductPrices[0].Price, resultPrice[Product_update.ProductPrices[0].CurrencyID], "ProductPrices Price");
                Assert.AreEqual(Product_update.ManufacturerPrices[0].Price, resultManuPrice[Product_update.ManufacturerPrices[0].CurrencyID], "Manufacturer Price");
                Assert.AreEqual(Product_update.DepositPrices[0].Price, resultDepoPrice[Product_update.DepositPrices[0].CurrencyID], "Deposit Price");
                Assert.AreEqual(Product_update.PrepaymentPrices[0].Price, resultPrePrice[Product_update.PrepaymentPrices[0].CurrencyID], "PrePayment Price");
                Assert.AreEqual(Product_update.EcoParticipationPrices[0].Price, resultEcoPrice[Product_update.EcoParticipationPrices[0].CurrencyID], "Eco participation Price");

                Assert.AreEqual(Product_update.IsVisible, Product_out.IsVisible, "IsVisible");
                Assert.AreEqual(Product_update.IsNew, Product_out.IsNew, "IsNew");
                Assert.AreEqual(Product_update.RefContentAmount, Product_out.RefContentAmount, "RefContentAmount");

                Assert.AreEqual(Product_update.DeliveryPeriod, Product_out.DeliveryPeriod, "delivery period");

                Assert.IsTrue(resultShippings.ContainsKey("/Shops/DemoShop/ShippingMethods/Post"), "do not touch shipping path 1");
                Assert.IsTrue(resultShippings.ContainsKey("/Shops/DemoShop/ShippingMethods/PickupByCustomer"), "added new shipping path");
                Assert.IsFalse(resultShippings.ContainsKey("/Shops/DemoShop/ShippingMethods/Express"), "deleted shipping path");
            }
            else
            {
                Assert.AreEqual(Product_in.Name[0].Value, resultName[Product_in.Name[0].LanguageCode], "initial localized Name");
                Assert.AreEqual(Product_in.Name[1].Value, resultName[Product_in.Name[1].LanguageCode], "initial localized Name");
                Assert.AreEqual(Product_in.Text[0].Value, resultLongDesc[Product_in.Text[0].LanguageCode], "initial localized long description");
                Assert.AreEqual(Product_in.Text[1].Value, resultLongDesc[Product_in.Text[1].LanguageCode], "initial localized long description");
                Assert.AreEqual(Product_in.Title[0].Value, resultTitle[Product_in.Title[0].LanguageCode], "initial localized title");
                Assert.AreEqual(Product_in.Title[1].Value, resultTitle[Product_in.Title[1].LanguageCode], "initial localized title");

                Assert.AreEqual(Product_in.ProductPrices[0].Price, resultPrice[Product_in.ProductPrices[0].CurrencyID], "ProductPrices Price");
                Assert.AreEqual(Product_in.ManufacturerPrices[0].Price, resultManuPrice[Product_in.ManufacturerPrices[0].CurrencyID], "Manufacturer Price");
                Assert.AreEqual(Product_in.DepositPrices[0].Price, resultDepoPrice[Product_in.DepositPrices[0].CurrencyID], "Deposit Price");
                Assert.AreEqual(Product_in.PrepaymentPrices[0].Price, resultPrePrice[Product_in.PrepaymentPrices[0].CurrencyID], "PrePayment Price");
                Assert.AreEqual(Product_in.EcoParticipationPrices[0].Price, resultEcoPrice[Product_in.EcoParticipationPrices[0].CurrencyID], "Eco participation Price");

                Assert.AreEqual(Product_in.IsVisible, Product_out.IsVisible, "IsVisible");
                Assert.AreEqual(Product_in.IsNew, Product_out.IsNew, "IsNew");
                Assert.AreEqual(Product_in.RefContentAmount, Product_out.RefContentAmount, "RefContentAmount");

                Assert.AreEqual(Product_in.DeliveryPeriod, Product_out.DeliveryPeriod, "delivery period");

                Assert.IsTrue(resultShippings.ContainsKey("/Shops/DemoShop/ShippingMethods/Post"), "created shipping path 1");
                Assert.IsTrue(resultShippings.ContainsKey("/Shops/DemoShop/ShippingMethods/Express"), "created shipping path 2");
            }

            Assert.AreEqual(Product_in.TaxClass, Product_out.TaxClass, "TaxClass");
            Assert.AreEqual(Product_in.OrderUnit, Product_out.OrderUnit, "OrderUnit");
        }
Exemple #8
0
        /// <summary>
        /// test getInfo() and check result against created resp. updated Product
        /// </summary>
        /// <param name="alreadyUpdated">check result against created or updated Product</param>
        public void getInfo(bool alreadyUpdated)
        {
            string[]  ProductPaths = new string[] { path + alias };
            ArrayList Products_out = serviceClient.getInfo(ProductPaths, new string[] { "AvailabilityDate" });

            // test if getinfo was successful and if all data are equal to input
            Assert.AreEqual(1, Products_out.Count, "get info result set");

            TGetInfo_Return Product_out = (TGetInfo_Return)Products_out.ToArray()[0];

            Assert.AreEqual(alias, Product_out.Alias, "product alias");
            Assert.AreEqual(2, Product_out.Name.Length, "Number of languages");

            Hashtable resultName = new Hashtable();

            resultName.Add(Product_out.Name[0].LanguageCode, Product_out.Name[0].Value);
            resultName.Add(Product_out.Name[1].LanguageCode, Product_out.Name[1].Value);

            Hashtable resultLongDesc = new Hashtable();

            resultLongDesc.Add(Product_out.LongDescription[0].LanguageCode, Product_out.LongDescription[0].Value);
            resultLongDesc.Add(Product_out.LongDescription[1].LanguageCode, Product_out.LongDescription[1].Value);

            Hashtable resultTitle = new Hashtable();

            resultTitle.Add(Product_out.Title[0].LanguageCode, Product_out.Title[0].Value);
            resultTitle.Add(Product_out.Title[1].LanguageCode, Product_out.Title[1].Value);

            Hashtable resultPrice = new Hashtable();

            resultPrice.Add(Product_out.ProductPrices[0].CurrencyID, Product_out.ProductPrices[0].Price);
            resultPrice.Add(Product_out.ProductPrices[1].CurrencyID, Product_out.ProductPrices[1].Price);

            Hashtable resultManuPrice = new Hashtable();

            resultManuPrice.Add(Product_out.ManufacturerPrices[0].CurrencyID, Product_out.ManufacturerPrices[0].Price);

            Hashtable resultDepoPrice = new Hashtable();

            resultDepoPrice.Add(Product_out.DepositPrices[0].CurrencyID, Product_out.DepositPrices[0].Price);

            Hashtable resultPrePrice = new Hashtable();

            resultPrePrice.Add(Product_out.PrepaymentPrices[0].CurrencyID, Product_out.PrepaymentPrices[0].Price);

            if (alreadyUpdated)
            {
                Assert.AreEqual(Product_update.Name[0].Value, resultName[Product_update.Name[0].LanguageCode], "updated localized Name");
                Assert.AreEqual(Product_update.Name[1].Value, resultName[Product_update.Name[1].LanguageCode], "updated localized Name");
                Assert.AreEqual(Product_update.LongDescription[0].Value, resultLongDesc[Product_update.LongDescription[0].LanguageCode], "updated localized long description");
                Assert.AreEqual(Product_update.LongDescription[1].Value, resultLongDesc[Product_update.LongDescription[1].LanguageCode], "updated localized long description");
                Assert.AreEqual(Product_update.Title[0].Value, resultTitle[Product_update.Title[0].LanguageCode], "updated localized title");
                Assert.AreEqual(Product_update.Title[1].Value, resultTitle[Product_update.Title[1].LanguageCode], "updated localized title");

                Assert.AreEqual(Product_update.ProductPrices[0].Price, resultPrice[Product_update.ProductPrices[0].CurrencyID], "ProductPrices Price");
                Assert.AreEqual(Product_update.ManufacturerPrices[0].Price, resultManuPrice[Product_update.ManufacturerPrices[0].CurrencyID], "Manufacturer Price");
                Assert.AreEqual(Product_update.DepositPrices[0].Price, resultDepoPrice[Product_update.DepositPrices[0].CurrencyID], "Deposit Price");
                Assert.AreEqual(Product_update.PrepaymentPrices[0].Price, resultPrePrice[Product_update.PrepaymentPrices[0].CurrencyID], "PrePayment Price");

                Assert.AreEqual(Product_update.IsVisible, Product_out.IsVisible, "IsVisible");
                Assert.AreEqual(Product_update.IsNew, Product_out.IsNew, "IsNew");
                Assert.AreEqual(Product_update.RefContentAmount, Product_out.RefContentAmount, "RefContentAmount");

                Assert.AreEqual(Product_update.DeliveryPeriod, Product_out.DeliveryPeriod, "delivery period");
            }
            else
            {
                Assert.AreEqual(Product_in.Name[0].Value, resultName[Product_in.Name[0].LanguageCode], "initial localized Name");
                Assert.AreEqual(Product_in.Name[1].Value, resultName[Product_in.Name[1].LanguageCode], "initial localized Name");
                Assert.AreEqual(Product_in.LongDescription[0].Value, resultLongDesc[Product_in.LongDescription[0].LanguageCode], "initial localized long description");
                Assert.AreEqual(Product_in.LongDescription[1].Value, resultLongDesc[Product_in.LongDescription[1].LanguageCode], "initial localized long description");
                Assert.AreEqual(Product_in.Title[0].Value, resultTitle[Product_in.Title[0].LanguageCode], "initial localized title");
                Assert.AreEqual(Product_in.Title[1].Value, resultTitle[Product_in.Title[1].LanguageCode], "initial localized title");

                Assert.AreEqual(Product_in.ProductPrices[0].Price, resultPrice[Product_in.ProductPrices[0].CurrencyID], "ProductPrices Price");
                Assert.AreEqual(Product_in.ManufacturerPrices[0].Price, resultManuPrice[Product_in.ManufacturerPrices[0].CurrencyID], "Manufacturer Price");
                Assert.AreEqual(Product_in.DepositPrices[0].Price, resultDepoPrice[Product_in.DepositPrices[0].CurrencyID], "Deposit Price");
                Assert.AreEqual(Product_in.PrepaymentPrices[0].Price, resultPrePrice[Product_in.PrepaymentPrices[0].CurrencyID], "PrePayment Price");

                Assert.AreEqual(Product_in.IsVisible, Product_out.IsVisible, "IsVisible");
                Assert.AreEqual(Product_in.IsNew, Product_out.IsNew, "IsNew");
                Assert.AreEqual(Product_in.RefContentAmount, Product_out.RefContentAmount, "RefContentAmount");

                Assert.AreEqual(Product_in.DeliveryPeriod, Product_out.DeliveryPeriod, "delivery period");
            }

            Assert.AreEqual(Product_in.TaxClass, Product_out.TaxClass, "TaxClass");
            Assert.AreEqual(Product_in.OrderUnit, Product_out.OrderUnit, "OrderUnit");
        }