public void WhenConstructed_CatalogueByRgbSumIsSet() { var catalogue = new Dictionary <string, ColorWrapper>(); catalogue.Add("colorName1", new ColorWrapper(Color.FromArgb(255, 1, 1, 1))); catalogue.Add("colorName2", new ColorWrapper(Color.FromArgb(255, 2, 2, 2))); catalogue.Add("colorName3", new ColorWrapper(Color.FromArgb(255, 3, 3, 3))); var colorCatalogue = new ColorCatalogue(catalogue); Assert.AreEqual(3, colorCatalogue.CatalogueByRgbSum.Count); foreach (var colorWrapper in catalogue) { var rgbSum = colorWrapper.Value.Color.R + colorWrapper.Value.Color.G + colorWrapper.Value.Color.B; var reverseLookupItem = colorCatalogue.CatalogueByRgbSum[rgbSum].ToList(); Assert.AreEqual(1, reverseLookupItem.Count, "Expected to find one color in reverse dictionary by RGB Sum"); var item = reverseLookupItem.First(); Assert.AreEqual(colorWrapper.Key, item.ColorNameFromCatalogue); Assert.AreEqual(colorWrapper.Value.Color, item.Color); } }
public void WhenConstructed_CatalogueByArgbIsSet() { var catalogue = new Dictionary <string, ColorWrapper>(); catalogue.Add("colorName1", new ColorWrapper(Color.FromArgb(255, 1, 1, 1))); catalogue.Add("colorName2", new ColorWrapper(Color.FromArgb(255, 2, 2, 2))); catalogue.Add("colorName3", new ColorWrapper(Color.FromArgb(255, 3, 3, 3))); var colorCatalogue = new ColorCatalogue(catalogue); Assert.AreEqual(3, colorCatalogue.CatalogueByArgb.Count); foreach (var colorWrapper in catalogue) { Assert.AreEqual(true, colorCatalogue.CatalogueByArgb.ContainsKey(colorWrapper.Value.Color.ToArgb()), "Expected to find color in reverse dictionary by Argb"); var item = colorCatalogue.CatalogueByArgb[colorWrapper.Value.Color.ToArgb()]; Assert.AreEqual(colorWrapper.Key, item.ColorNameFromCatalogue); Assert.AreEqual(colorWrapper.Value.Color, item.Color); } }