public void ImageHeightCustom()
        {
            var propertyIndex = 0;
            var expectedValue = r.Next(40, 100);

            var src = new BubbleCommonOptions {
                ImageHeight = expectedValue
            };
            var so = PopulateOptions(src);

            AssertPopulatedProperty(so, propertyIndex, expectedValue);
        }
        public void MaxWidthCustom()
        {
            var propertyIndex = 1;
            var expectedValue = r.Next(40, 100);

            var src = new BubbleCommonOptions {
                MaxWidth = expectedValue
            };
            var so = PopulateOptions(src);

            AssertPopulatedProperty(so, propertyIndex, expectedValue);
        }
        public void MinHeightCustom()
        {
            var propertyIndex = 2;
            var expectedValue = r.Next(10, 40);

            var src = new BubbleCommonOptions {
                MinHeight = expectedValue
            };
            var so = PopulateOptions(src);

            AssertPopulatedProperty(so, propertyIndex, expectedValue);
        }
        public void EmptyContructor()
        {
            var aco = new BubbleCommonOptions
            {
            };

            var o = PopulateOptions(aco);

            Assert.AreEqual(0, o.Count);

            o = PopulateOptions(aco, true);
            Assert.AreEqual(4, o.Count);
        }
        public void MaxWidthDefault()
        {
            var propertyIndex = 1;
            var expectedValue = 480;
            var src           = new BubbleCommonOptions {
            };

            var so = PopulateOptions(src);

            AssertEmptyProperty(so, propertyIndex);

            so = PopulateOptions(src, true);
            AssertPopulatedProperty(so, propertyIndex, expectedValue);
        }
        public void ImageHeightDefault()
        {
            var propertyIndex = 0;
            var expectedValue = 240;
            var src           = new BubbleCommonOptions {
            };

            var so = PopulateOptions(src);

            AssertEmptyProperty(so, propertyIndex);

            so = PopulateOptions(src, true);
            AssertPopulatedProperty(so, propertyIndex, expectedValue);
        }
        private static void PopulateOptions(Random r, WebChatStyleOptions options)
        {
            var cc = new ChatColorOptions()
            {
                BackgroundColor = EnumHelpers.GetRandomValue <KnownColor>().ToString(),
                AccentColor     = EnumHelpers.GetRandomValue <KnownColor>().ToString(),
                SubtleColor     = EnumHelpers.GetRandomValue <KnownColor>().ToString()
            };
            var borderStyles = new string[]
            {
                "none", "dotted", "dashed",
                "solid", "double", "groove",
                "ridge", "inset", "outset"
            };

            var bb = new BubbleOptions(true)
            {
                Background = EnumHelpers.GetRandomValue <KnownColor>().ToString(),
                TextColor  = EnumHelpers.GetRandomValue <KnownColor>().ToString(),

                BorderColor  = EnumHelpers.GetRandomValue <KnownColor>().ToString(),
                BorderStyle  = borderStyles[r.Next(0, borderStyles.Length)],
                BorderRadius = new CSSLengthUnit(r.Next(0, 20), CSSUnit.Pixels),
                BorderWidth  = new CSSLengthUnit(r.Next(0, 5), CSSUnit.Pixels)
            };
            var ub = new BubbleOptions(false)
            {
                Background = EnumHelpers.GetRandomValue <KnownColor>().ToString(),
                TextColor  = EnumHelpers.GetRandomValue <KnownColor>().ToString(),

                BorderColor  = EnumHelpers.GetRandomValue <KnownColor>().ToString(),
                BorderStyle  = borderStyles[r.Next(0, borderStyles.Length)],
                BorderRadius = new CSSLengthUnit(r.Next(0, 20), CSSUnit.Pixels),
                BorderWidth  = new CSSLengthUnit(r.Next(0, 5), CSSUnit.Pixels)
            };
            var ab = new BubbleCommonOptions()
            {
            };

            InstalledFontCollection installedFontCollection = new InstalledFontCollection();

            // Get the array of FontFamily objects.
            var fontFamilies = installedFontCollection.Families;