pub mod backend;
pub mod frontend;
extern crate liquid;
extern crate serde;
extern crate serde_json;
#[macro_use]
extern crate serde_derive;
#[cfg(test)]
mod tests {
use super::backend::bar_chart::BarChart;
use super::backend::stacked_bar_chart::StackedBarChart;
use super::backend::line_chart::LineChart;
use super::frontend::write::render_graph;
use super::backend::general::FileType;
#[test]
fn test_bar_chart() {
let mut b = BarChart::new();
let v = ["A", "B", "C", "D", "E", "F", "G", "H", "I", "J", "K", "L"];
for i in 0..10 {
b.add_data(v[i].to_string(), (i * i * i) as i32);
}
render_graph(&b, FileType::HTML).unwrap();
render_graph(&b, FileType::JSON).unwrap();
}
#[test]
fn test_stacked_bar_chart() {
let mut b = StackedBarChart::new();
for i in 0..10 {
b.add_data(i, i * i, 1);
b.add_data(i, i + i, 0);
}
render_graph(&b, FileType::HTML).unwrap();
}
#[test]
fn test_line_chart() {
let mut c = LineChart::new();
for i in 0..20 {
c.add_data(i, i * i, 0);
c.add_data(i, 2 * i, 1);
}
render_graph(&c, FileType::HTML).unwrap();
}
#[test]
fn test_configuring_chart() {
let mut b = BarChart::new();
for i in 1..35 {
b.add_data(i.to_string(), i + 1);
}
b.set_identifier("configured_bar_chart");
b.set_description("Gusty Chart");
b.set_color("black");
render_graph(&b, FileType::HTML).unwrap();
}
}