public void WhenValueIsMissingThemeIsNotSet(BaseTheme?baseTheme, PrimaryColor?primaryColor, SecondaryColor?secondaryColor)
        {
            //Arrange
            var bundledTheme = new BundledTheme();

            //Act
            bundledTheme.BaseTheme      = baseTheme;
            bundledTheme.PrimaryColor   = primaryColor;
            bundledTheme.SecondaryColor = secondaryColor;

            //Assert
            Assert.Throws <InvalidOperationException>(() => bundledTheme.GetTheme());
        }
        public void WhenAllValuesAreSetThemeIsSet()
        {
            //Arrange
            var bundledTheme = new BundledTheme();

            //Act
            bundledTheme.BaseTheme      = BaseTheme.Light;
            bundledTheme.PrimaryColor   = PrimaryColor.Purple;
            bundledTheme.SecondaryColor = SecondaryColor.Lime;

            //Assert
            ITheme theme = bundledTheme.GetTheme();

            Assert.Equal(SwatchHelper.Lookup[(MaterialDesignColor)PrimaryColor.Purple], theme.PrimaryMid.Color);
            Assert.Equal(SwatchHelper.Lookup[(MaterialDesignColor)SecondaryColor.Lime], theme.SecondaryMid.Color);
            Assert.Equal(Theme.Light.MaterialDesignBody, theme.Body);
        }