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); }
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); }
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"]); }
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); }
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); }
public void portUserDefined() { ImageCharts builder = new ImageCharts(null, null, 8080, null, null, null); Assert.AreEqual(8080, typeof(ImageCharts).GetField("port", bindFlags).GetValue(builder)); }
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); }
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()); }
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()); }
public void protocolUserDefined() { ImageCharts builder = new ImageCharts("http", null, null, null, null, null); Assert.AreEqual("http", typeof(ImageCharts).GetField("protocol", bindFlags).GetValue(builder).ToString()); }
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)); }