XAxis ax;
auto f = xaxisRange( 0, 1 );
assertEqual( f(ax).min, 0 );
assertEqual( f(ax).max, 1 );
YAxis yax;
auto yf = yaxisRange( 0, 1 );
assertEqual( yf(yax).min, 0 );
assertEqual( yf(yax).max, 1 );
XAxis xax;
auto xf = xaxisLabel( "x" );
assertEqual( xf(xax).label, "x" );
YAxis yax;
auto yf = yaxisLabel( "y" );
assertEqual( yf(yax).label, "y" );
XAxis xax;
auto xf = xaxisOffset( 1 );
assertEqual( xf(xax).offset, 1 );
YAxis yax;
auto yf = yaxisOffset( 2 );
assertEqual( yf(yax).offset, 2 );
import std.stdio : writeln;
import std.math : isClose;
XAxis xax;
auto xf = xaxisTextAngle(90.0);
writeln(xf(xax).textAngle);
assert(isClose(xf(xax).textAngle, 1.5708, 0.01, 1e-5));
YAxis yax;
auto yf = yaxisTextAngle(45.0);
assert(isClose(xf(xax).textAngle, 1.5708, 0.01, 1e-5));