public static void AssertEqual(DistrictPreciseView left, DistrictPreciseView right) { Assert.AreEqual(left.City, right.City); Assert.AreEqual(left.District, right.District); Assert.AreEqual(left.FirstNeighbors, right.FirstNeighbors); Assert.AreEqual(left.SecondNeighbors, right.SecondNeighbors); Assert.AreEqual(left.TotalMrs, right.TotalMrs); }
public static IEnumerable <DistrictPreciseView> Merge(IEnumerable <TownPreciseView> townPreciseViews) { var preciseViews = townPreciseViews as TownPreciseView[] ?? townPreciseViews.ToArray(); if (!preciseViews.Any()) { return(null); } var districts = preciseViews.Select(x => x.District).Distinct(); var city = preciseViews.ElementAt(0).City; return(districts.Select(district => { var view = DistrictPreciseView.ConstructView(preciseViews.Where(x => x.District == district).ArraySum()); view.City = city; view.District = district; return view; }).ToList()); }