@@ -432,7 +432,7 @@ public void D04_InvalidLogAxis()
432432 /// Test DesiredSize property to see if working property
433433 /// </summary>
434434 [ Test ]
435- public void Axis_DesiredSize ( )
435+ public void Axis_DesiredMargin ( )
436436 {
437437 var xaxis = new LinearAxis { Position = AxisPosition . Bottom , Title = "X-axis" } ;
438438 var yaxis = new LinearAxis { Position = AxisPosition . Left , Title = "Y-axis" } ;
@@ -451,18 +451,70 @@ public void Axis_DesiredSize()
451451
452452 // initial setting
453453 plot . UpdateAndRenderToNull ( 800 , 600 ) ;
454- Assert . That ( yaxis . DesiredSize . Width , Is . EqualTo ( 35.0 ) . Within ( 0.5 ) , "y-axis width" ) ;
455- Assert . That ( yaxis . DesiredSize . Height , Is . EqualTo ( 0.0 ) . Within ( 1e-6 ) , "y-axis height" ) ;
454+ Assert . That ( yaxis . DesiredMargin . Left , Is . EqualTo ( 35.0 ) . Within ( 0.5 ) , "y-axis left" ) ;
455+ Assert . That ( yaxis . DesiredMargin . Top , Is . EqualTo ( 5 ) . Within ( 0.5 ) , "y-axis top" ) ;
456+ Assert . That ( yaxis . DesiredMargin . Right , Is . EqualTo ( 0.0 ) . Within ( 1e-6 ) , "y-axis right" ) ;
457+ Assert . That ( yaxis . DesiredMargin . Bottom , Is . EqualTo ( 5 ) . Within ( 0.5 ) , "y-axis bottom" ) ;
456458
457- Assert . That ( xaxis . DesiredSize . Width , Is . EqualTo ( 0.0 ) . Within ( 1e-6 ) , "x-axis width" ) ;
458- Assert . That ( xaxis . DesiredSize . Height , Is . EqualTo ( 35.0 ) . Within ( 0.5 ) , "x-axis height" ) ;
459+ Assert . That ( xaxis . DesiredMargin . Left , Is . EqualTo ( 5 ) . Within ( 0.5 ) , "x-axis left" ) ;
460+ Assert . That ( xaxis . DesiredMargin . Top , Is . EqualTo ( 0.0 ) . Within ( 1e-6 ) , "x-axis top" ) ;
461+ Assert . That ( xaxis . DesiredMargin . Right , Is . EqualTo ( 5 ) . Within ( 0.5 ) , "x-axis right" ) ;
462+ Assert . That ( xaxis . DesiredMargin . Bottom , Is . EqualTo ( 35.0 ) . Within ( 0.5 ) , "x-axis bottom" ) ;
459463
460464 // larger numbers on axis -> larger desired size
461465 yaxis . Zoom ( 10000 , 11000 ) ;
466+ xaxis . Zoom ( 10000 , 11000 ) ;
462467 plot . UpdateAndRenderToNull ( 800 , 600 ) ;
463468
464- Assert . That ( yaxis . DesiredSize . Width , Is . EqualTo ( 50.0 ) . Within ( 0.5 ) , "y-axis width" ) ;
465- Assert . That ( yaxis . DesiredSize . Height , Is . EqualTo ( 0.0 ) . Within ( 1e-6 ) , "y-axis height" ) ;
469+ Assert . That ( yaxis . DesiredMargin . Left , Is . EqualTo ( 50.0 ) . Within ( 0.5 ) , "y-axis left" ) ;
470+ Assert . That ( yaxis . DesiredMargin . Top , Is . EqualTo ( 5 ) . Within ( 0.5 ) , "y-axis top" ) ;
471+ Assert . That ( yaxis . DesiredMargin . Right , Is . EqualTo ( 0.0 ) . Within ( 1e-6 ) , "y-axis right" ) ;
472+ Assert . That ( yaxis . DesiredMargin . Bottom , Is . EqualTo ( 5 ) . Within ( 0.5 ) , "y-axis bottom" ) ;
473+
474+ Assert . That ( xaxis . DesiredMargin . Left , Is . EqualTo ( 12.5 ) . Within ( 0.5 ) , "x-axis left" ) ;
475+ Assert . That ( xaxis . DesiredMargin . Top , Is . EqualTo ( 0.0 ) . Within ( 1e-6 ) , "x-axis top" ) ;
476+ Assert . That ( xaxis . DesiredMargin . Right , Is . EqualTo ( 12.5 ) . Within ( 0.5 ) , "x-axis right" ) ;
477+ Assert . That ( xaxis . DesiredMargin . Bottom , Is . EqualTo ( 35.0 ) . Within ( 0.5 ) , "x-axis bottom" ) ;
478+ }
479+
480+ /// <summary>
481+ /// Test DesiredSize property with axis start and end position
482+ /// </summary>
483+ [ Test ]
484+ public void Axis_DesiredMargin_WithPosition ( )
485+ {
486+ var plot = new PlotModel ( ) ;
487+ var axis1 = new LinearAxis { Position = AxisPosition . Bottom , StartPosition = 0 , EndPosition = 0.5 , Title = "X-axis 1" } ;
488+ var axis2 = new LinearAxis { Position = AxisPosition . Bottom , StartPosition = 1 , EndPosition = 0.5 , Title = "X-axis 2" } ;
489+ plot . Axes . Add ( axis1 ) ;
490+ plot . Axes . Add ( axis2 ) ;
491+
492+ axis1 . Zoom ( 0 , 80 ) ;
493+ axis2 . Zoom ( 0 , 80 ) ;
494+ plot . UpdateAndRenderToNull ( 800 , 600 ) ;
495+ Assert . That ( axis1 . DesiredMargin . Left , Is . EqualTo ( 5 ) . Within ( 0.5 ) , "axis1 left" ) ;
496+ Assert . That ( axis1 . DesiredMargin . Top , Is . EqualTo ( 0 ) . Within ( 1e-6 ) , "axis1 top" ) ;
497+ Assert . That ( axis1 . DesiredMargin . Right , Is . EqualTo ( 0 ) . Within ( 1e-6 ) , "axis1 right" ) ;
498+ Assert . That ( axis1 . DesiredMargin . Bottom , Is . EqualTo ( 35 ) . Within ( 0.5 ) , "axis1 bottom" ) ;
499+
500+ Assert . That ( axis2 . DesiredMargin . Left , Is . EqualTo ( 0d ) . Within ( 1e-6 ) , "axis2 left" ) ;
501+ Assert . That ( axis2 . DesiredMargin . Top , Is . EqualTo ( 0d ) . Within ( 1e-6 ) , "axis2 top" ) ;
502+ Assert . That ( axis2 . DesiredMargin . Right , Is . EqualTo ( 5 ) . Within ( 0.5 ) , "axis2 right" ) ;
503+ Assert . That ( axis2 . DesiredMargin . Bottom , Is . EqualTo ( 35 ) . Within ( 0.5 ) , "axis2 bottom" ) ;
504+
505+ // larger numbers on axis -> larger desired size
506+ axis1 . Zoom ( 10000 , 11000 ) ;
507+ axis2 . Zoom ( 10000 , 11000 ) ;
508+ plot . UpdateAndRenderToNull ( 800 , 600 ) ;
509+ Assert . That ( axis1 . DesiredMargin . Left , Is . EqualTo ( 12.5 ) . Within ( 0.5 ) , "axis1 left" ) ;
510+ Assert . That ( axis1 . DesiredMargin . Top , Is . EqualTo ( 0 ) . Within ( 1e-6 ) , "axis1 top" ) ;
511+ Assert . That ( axis1 . DesiredMargin . Right , Is . EqualTo ( 0 ) . Within ( 1e-6 ) , "axis1 right" ) ;
512+ Assert . That ( axis1 . DesiredMargin . Bottom , Is . EqualTo ( 35 ) . Within ( 0.5 ) , "axis1 bottom" ) ;
513+
514+ Assert . That ( axis2 . DesiredMargin . Left , Is . EqualTo ( 0d ) . Within ( 1e-6 ) , "axis2 left" ) ;
515+ Assert . That ( axis2 . DesiredMargin . Top , Is . EqualTo ( 0d ) . Within ( 1e-6 ) , "axis2 top" ) ;
516+ Assert . That ( axis2 . DesiredMargin . Right , Is . EqualTo ( 12.5 ) . Within ( 0.5 ) , "axis2 right" ) ;
517+ Assert . That ( axis2 . DesiredMargin . Bottom , Is . EqualTo ( 35 ) . Within ( 0.5 ) , "axis2 bottom" ) ;
466518 }
467519
468520 /// <summary>
@@ -694,4 +746,4 @@ public void Axis_Toggle_Between_Linear_And_Log_Axis()
694746 Assert . AreEqual ( 0.004 , plot . Axes [ 0 ] . DataMinimum ) ;
695747 }
696748 }
697- }
749+ }
0 commit comments