Inheritance: IColourProvider
        public void ColourProviderHuesShouldNotBeEmpty()
        {
            var provider = new ColourProvider();

            var result = provider.Hues;

            result.Any().Should().BeTrue();
        }
        public void ColourProviderLookupWithNullKeyShouldReturnEmptyValue()
        {
            var provider = new ColourProvider();
            HueKey key;
            var result = provider.Lookup(key);

            result.HasValue.Should().Be(false);
        }
        public void ColourProviderLookupWithIncorrectKeyShouldReturnEmptyValue()
        {
            var provider = new ColourProvider();
            var key = new HueKey("xxxxxxxx", "yyyyyyyyyy");

            var result = provider.Lookup(key);

            result.HasValue.Should().Be(false);
        }
        public void ColourProviderLookupShouldFindAllHues()
        {
            var provider = new ColourProvider();

            foreach (var hue in provider.Hues)
            {
                provider.Lookup(hue.Key).HasValue.Should().BeTrue();
            }
        }
        public void ColourProviderGetAccentShouldSupportAllThemes()
        {
            var provider = new ColourProvider();

            foreach (var theme in Enum.GetValues(typeof(Theme)))
            {
                provider.GetAccent((Theme)theme).Should().NotBeNull();
            }
        }
        public void DefaultColourSelectorSelectShouldWork()
        {
            var provider = new ColourProvider();
            var selector = new DefaultColourSelector(provider);

            var result = selector.Select("DEBUG");

            result.Should().NotBeNull();
        }
        public void ColourProviderLookupShouldFindAHue()
        {
            var provider = new ColourProvider();
            var key = new HueKey("amber", "Accent100");

            var result = provider.Lookup(key);

            result.HasValue.Should().Be(true);
            result.Value.Key.Should().Be(key);
        }
        public void DefaultColourSelectorLookupShouldWork()
        {
            var provider = new ColourProvider();
            var selector = new DefaultColourSelector(provider);
            var key = provider.Hues.First().Key;

            var result = selector.Lookup(key);

            result.Key.Should().Be(key);
        }
        public void ColourProviderDefaultAccentShouldReturnSomething()
        {
            var provider = new ColourProvider();

            provider.DefaultAccent.Should().NotBeNull();
        }