private static bool BasketsAreEqual <T>(BasketCombination <T> basketCombination, BasketCombination <T> expected) { if (basketCombination.Baskets.Count != expected.Baskets.Count) { return(false); } for (var i = 0; i < basketCombination.Baskets.Count; i++) { if (!basketCombination.Baskets[i].BasketElements.AreElementsAreEqualTo(expected.Baskets[i].BasketElements)) { return(false); } } return(true); }
private static string GetVariantText <T>(BasketCombination <T> expected) { Func <Basket <T>, string> getBasketText = b => b.BasketElements.Aggregate("", (r, e) => r + " " + e); return(expected.Baskets.Aggregate("", (r, b) => r + "{" + getBasketText(b) + "} ")); }