public void Product_Serialize() { // Arrange Guid randomName = Guid.NewGuid(); Product newProduct = new Product() { name = randomName.ToString(), price_in_cents = 100, interval_unit = IntervalUnit.month, interval = 1 }; // Act string msg = string.Empty; var serializer = new DotNetXmlSerializer(); msg = serializer.Serialize(newProduct); // Assert XDocument doc = XDocument.Parse(msg); XElement nameElement = doc.Root.Elements().FirstOrDefault(e => e.Name == "name"); XElement priceElement = doc.Root.Elements().FirstOrDefault(e => e.Name == "price_in_cents"); XElement intervalUnitElement = doc.Root.Elements().FirstOrDefault(e => e.Name == "interval_unit"); XElement intervalElement = doc.Root.Elements().FirstOrDefault(e => e.Name == "interval"); Assert.IsTrue(doc.Root.Elements().Count() == 4); Assert.IsFalse(string.IsNullOrEmpty(nameElement.Value)); Assert.IsTrue(randomName.ToString() == nameElement.Value); Assert.IsNotNull(priceElement); Assert.IsTrue(int.Parse(priceElement.Value) > int.MinValue); Assert.AreEqual((int)newProduct.price_in_cents, int.Parse(priceElement.Value)); Assert.IsFalse(string.IsNullOrEmpty(intervalUnitElement.Value)); Assert.IsTrue((int)newProduct.interval_unit == (int)Enum.Parse(typeof(IntervalUnit), intervalUnitElement.Value)); }
public Product GetNewProduct() { Guid randomName = Guid.NewGuid(); Product newProduct = new Product() { name = randomName.ToString(), price_in_cents = 100, interval_unit = IntervalUnit.month, interval = 1 }; return newProduct; }
public static void Archive(this ProductService service, Product product) { throw new NotImplementedException(); }
public static Product Create(this ProductService service, int familyId, Product product) { string url = string.Format(format: "/{0}/{1}/{2}", arg0: ProductFamilyService.ProductFamilyKey, arg1: familyId, arg2: ProductService.ProductKey); return service.PostRequest<Product, Product>(product, url); }
public static Task ArchiveAsync(this ProductService service, Product product) { throw new NotImplementedException(); }
public static async Task<Product> CreateAsync(this ProductService service, int familyId, Product product) { string url = string.Format(format: "/{0}/{1}/{2}", arg0: ProductFamilyService.ProductFamilyKey, arg1: familyId, arg2: ProductService.ProductKey); return await service.PostRequestAsync<Product, Product>(product, url); }