Beispiel #1
0
        public void queryExposeQuery()
        {
            ImageCharts builder = new ImageCharts();

            FieldInfo protocolField = typeof(ImageCharts).GetField("query", bindFlags);

            Dictionary <string, Object> query = (Dictionary <string, Object>)protocolField.GetValue(builder);

            Assert.AreEqual(query.Count, 0);
        }
Beispiel #2
0
        public void toUrlAddSignature()
        {
            string url = new ImageCharts("plop").cht("p")
                         .chd("t:1,2,3")
                         .chs("100x100")
                         .icac("test_fixture")
                         .toURL();

            Assert.AreEqual("https://image-charts.com:443/chart?cht=p&chd=t%3A1%2C2%2C3&chs=100x100&icac=test_fixture&ichm=71bd93758b49ed28fdabd23a0ff366fe7bf877296ea888b9aaf4ede7978bdc8d", url);
        }
Beispiel #3
0
        public void queryUserDefined()
        {
            ImageCharts builder = new ImageCharts().cht("p").chd("t:1,2,3").icac("plop");

            FieldInfo protocolField           = typeof(ImageCharts).GetField("query", bindFlags);
            Dictionary <string, Object> query = (Dictionary <string, Object>)protocolField.GetValue(builder);

            Assert.AreEqual("p", query["cht"]);
            Assert.AreEqual("t:1,2,3", query["chd"]);
            Assert.AreEqual("plop", query["icac"]);
        }
Beispiel #4
0
        public void toUrlExposesParametersUseThem()
        {
            ImageCharts imageCharts = new ImageCharts();

            string query = string.Join("&", typeof(ImageCharts).GetMethods()
                                       .Where(m => m.Name.StartsWith("c") || m.Name.StartsWith("id"))
                                       .Select(m =>
            {
                m.Invoke(imageCharts, new Object[] { "plop" });
                return(m.Name + "=plop");
            }));


            string url         = imageCharts.toURL();
            string assertQuery = "https://image-charts.com:443/chart?" + query;

            Assert.AreEqual(assertQuery, url);
        }
        public Stream CreateLineChart(decimal[] data, string lineColor, int width, int height)
        {
            var serializedData = $"a:{string.Join(',', data)}";
            var dataRange      = $"0,{Math.Floor(data.Min())},{Math.Ceiling(data.Max())}";

            var lineChart = new ImageCharts()
                            .cht("ls")
                            .chco(lineColor)
                            .chls("2")
                            .chf("bg,s,00000000")
                            .chs($"{width}x{height}")
                            .chxt("y")
                            .chxs("0N*cUSD2sz*,666666")
                            .chxr(dataRange)
                            .chd(serializedData);

            var buffer = lineChart.toBuffer();
            var stream = new MemoryStream(buffer);

            return(stream);
        }
Beispiel #6
0
        public void toDataURIWorks()
        {
            string dataURI = new ImageCharts().cht("p").chd("t:1,2,3").chs("2x2").toDataURI();

            Assert.AreEqual("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAAIAAAACAQAAAABazTCJAAAADElEQVR42mM4wHAAAAMEAYEq5W5aAAAAAElFTkSuQmCC", dataURI);
        }
Beispiel #7
0
        public void portUserDefined()
        {
            ImageCharts builder = new ImageCharts(null, null, 8080, null, null, null);

            Assert.AreEqual(8080, typeof(ImageCharts).GetField("port", bindFlags).GetValue(builder));
        }
Beispiel #8
0
        public void toUrlWorks()
        {
            string url = new ImageCharts().cht("p").chd("t:1,2,3").toURL();

            Assert.AreEqual("https://image-charts.com:443/chart?cht=p&chd=t%3A1%2C2%2C3", url);
        }
Beispiel #9
0
        public void pathnameUserDefined()
        {
            ImageCharts builder = new ImageCharts(null, null, null, "/my-charts", null, null);

            Assert.AreEqual("/my-charts", typeof(ImageCharts).GetField("pathname", bindFlags).GetValue(builder).ToString());
        }
Beispiel #10
0
        public void hostUserDefined()
        {
            ImageCharts builder = new ImageCharts(null, "on-premise-image-charts.com", null, null, null, null);

            Assert.AreEqual("on-premise-image-charts.com", typeof(ImageCharts).GetField("host", bindFlags).GetValue(builder).ToString());
        }
Beispiel #11
0
        public void protocolUserDefined()
        {
            ImageCharts builder = new ImageCharts("http", null, null, null, null, null);

            Assert.AreEqual("http", typeof(ImageCharts).GetField("protocol", bindFlags).GetValue(builder).ToString());
        }
Beispiel #12
0
        public void toDataURISupportGifs()
        {
            string dataURI = new ImageCharts().cht("p").chd("t:1,2,3").chan("100").chs("2x2").toDataURI();

            Assert.AreEqual("data:image/gif;base64,R0lGODlh", dataURI.Substring(0, 30));
        }