public void Vcf_Method()
        {
            Assert.Throws <ArgumentNullException>(() => IGravatarProfileUrlWidgetExtensions.Vcf(null));

            new GravatarProfileUrlWidget().Do(widget =>
            {
                Assert.True(ReferenceEquals(widget.Vcf(), widget));
                Assert.Equal("vcf", widget.Format());
            });
        }
        public void Email_Method()
        {
            Assert.Throws <ArgumentNullException>(() => IGravatarProfileUrlWidgetExtensions.Email(null, "email"));
            Assert.Throws <ArgumentNullException>(() => new GravatarProfileUrlWidget().Email(null));
            Assert.Throws <ArgumentException>(() => new GravatarProfileUrlWidget().Email(string.Empty));

            new GravatarProfileUrlWidget().Do(widget =>
            {
                Assert.True(ReferenceEquals(widget.Email("*****@*****.**"), widget));
                Assert.Equal("61b98d241eaa1ce237c979e7a8181d13", widget.Hash());
            });

            Assert.Equal(new GravatarProfileUrlWidget().Email("*****@*****.**").Hash(), new GravatarProfileUrlWidget().Email(" [email protected] ").Hash());
        }
        public void Json_Method()
        {
            Assert.Throws <ArgumentNullException>(() => IGravatarProfileUrlWidgetExtensions.Json(null));

            new GravatarProfileUrlWidget().Do(widget =>
            {
                Assert.True(ReferenceEquals(widget.Json(), widget));
                Assert.Equal("json", widget.Format());
            });
            new GravatarProfileUrlWidget().Do(widget =>
            {
                Assert.Equal("json", widget.Json("callback").Format());

                var parameters = widget.Field("parameters").To <IDictionary <string, object> >();
                Assert.Equal(1, parameters.Count);
                Assert.Equal("callback", parameters.Single().Key);
                Assert.Equal("callback", parameters.Single().Value);
            });
        }