private void AssertProducts(List <Product> products, List <Product> result) { var productAcccesor = new ProductAccesor(); for (int i = 0; i < result.Count; i++) { var r = result[i]; var p = products[i]; var properties = productAcccesor.GetPropertyCodes(); foreach (var code in properties) { if (code == ProductAccesor.Brand) { var a = (Brand)productAcccesor.GetValue(r, code); var b = (Brand)productAcccesor.GetValue(p, code); AssertBrands(a, b); } else if (code == ProductAccesor.Catalog) { var a = (Catalog)productAcccesor.GetValue(r, code); var b = (Catalog)productAcccesor.GetValue(p, code); AssertCatalogs(a, b); } else { Assert.Equal(productAcccesor.GetValue(p, code), productAcccesor.GetValue(r, code)); } } } }
private void AssertProducts(List <Product> result) { Contract.Assert(result != null && result.Count == _products.Count); var productAcccesor = new ProductAccesor(); for (int i = 0; i < result.Count; i++) { var r = result[i]; var p = _products[i]; var properties = productAcccesor.GetPropertyCodes(); foreach (var code in properties) { if (code == ProductAccesor.Brand) { var a = (Brand)productAcccesor.GetValue(r, code); var b = (Brand)productAcccesor.GetValue(p, code); AssertBrands(a, b); } else if (code == ProductAccesor.Catalog) { var a = (Catalog)productAcccesor.GetValue(r, code); var b = (Catalog)productAcccesor.GetValue(p, code); AssertCatalogs(a, b); } else { var a = productAcccesor.GetValue(p, code); var b = productAcccesor.GetValue(r, code); Contract.Assert((a == null && b == null) || (a?.Equals(b) ?? false)); } } } }