mirror of
https://github.com/gui-cs/Terminal.Gui.git
synced 2025-12-29 01:07:58 +01:00
* Fixes #546. Enhancement ProgressBar. * Allows set the Text only on Marquee style.
This commit is contained in:
@@ -1155,14 +1155,14 @@ namespace Terminal.Gui {
|
||||
public Rune RightBracket = ']';
|
||||
|
||||
/// <summary>
|
||||
/// On Segment indicator for meter views (e.g. <see cref="ProgressBar"/>.
|
||||
/// Blocks Segment indicator for meter views (e.g. <see cref="ProgressBar"/>.
|
||||
/// </summary>
|
||||
public Rune OnMeterSegment = '\u258c';
|
||||
public Rune BlocksMeterSegment = '\u258c';
|
||||
|
||||
/// <summary>
|
||||
/// Off Segment indicator for meter views (e.g. <see cref="ProgressBar"/>.
|
||||
/// Continuous Segment indicator for meter views (e.g. <see cref="ProgressBar"/>.
|
||||
/// </summary>
|
||||
public Rune OffMeterSegement = ' ';
|
||||
public Rune ContinuousMeterSegment = '\u2588';
|
||||
|
||||
/// <summary>
|
||||
/// Make the attribute for the foreground and background colors.
|
||||
|
||||
@@ -1,5 +1,54 @@
|
||||
using System;
|
||||
using NStack;
|
||||
using System;
|
||||
namespace Terminal.Gui {
|
||||
/// <summary>
|
||||
/// Specifies the style that a <see cref="ProgressBar"/> uses to indicate the progress of an operation.
|
||||
/// </summary>
|
||||
public enum ProgressBarStyle {
|
||||
/// <summary>
|
||||
/// Indicates progress by increasing the number of segmented blocks in a <see cref="ProgressBar"/>.
|
||||
/// </summary>
|
||||
Blocks,
|
||||
/// <summary>
|
||||
/// Indicates progress by increasing the size of a smooth, continuous bar in a <see cref="ProgressBar"/>.
|
||||
/// </summary>
|
||||
Continuous,
|
||||
/// <summary>
|
||||
/// Indicates progress by continuously scrolling a block across a <see cref="ProgressBar"/> in a marquee fashion.
|
||||
/// </summary>
|
||||
MarqueeBlocks,
|
||||
/// <summary>
|
||||
/// Indicates progress by continuously scrolling a block across a <see cref="ProgressBar"/> in a marquee fashion.
|
||||
/// </summary>
|
||||
MarqueeContinuous
|
||||
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
///Specifies the format that a <see cref="ProgressBar"/> uses to indicate the visual presentation.
|
||||
/// </summary>
|
||||
public enum ProgressBarFormat {
|
||||
/// <summary>
|
||||
/// A simple visual presentation showing only the progress bar.
|
||||
/// </summary>
|
||||
Simple,
|
||||
/// <summary>
|
||||
/// A simple visual presentation showing the progress bar and the percentage.
|
||||
/// </summary>
|
||||
SimplePlusPercentage,
|
||||
/// <summary>
|
||||
/// A framed visual presentation showing only the progress bar.
|
||||
/// </summary>
|
||||
Framed,
|
||||
/// <summary>
|
||||
/// A framed visual presentation showing the progress bar and the percentage.
|
||||
/// </summary>
|
||||
FramedPlusPercentage,
|
||||
/// <summary>
|
||||
/// A framed visual presentation showing all with the progress bar padded.
|
||||
/// </summary>
|
||||
FramedProgressPadded
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// A Progress Bar view that can indicate progress of an activity visually.
|
||||
@@ -16,7 +65,8 @@ namespace Terminal.Gui {
|
||||
/// </remarks>
|
||||
public class ProgressBar : View {
|
||||
bool isActivity;
|
||||
int activityPos, delta;
|
||||
int [] activityPos;
|
||||
int delta, padding;
|
||||
|
||||
/// <summary>
|
||||
/// Initializes a new instance of the <see cref="ProgressBar"/> class, starts in percentage mode with an absolute position and size.
|
||||
@@ -24,17 +74,28 @@ namespace Terminal.Gui {
|
||||
/// <param name="rect">Rect.</param>
|
||||
public ProgressBar (Rect rect) : base (rect)
|
||||
{
|
||||
CanFocus = false;
|
||||
fraction = 0;
|
||||
Initialize (rect);
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Initializes a new instance of the <see cref="ProgressBar"/> class, starts in percentage mode and uses relative layout.
|
||||
/// </summary>
|
||||
public ProgressBar () : base ()
|
||||
{
|
||||
Initialize (Rect.Empty);
|
||||
}
|
||||
|
||||
void Initialize (Rect rect)
|
||||
{
|
||||
CanFocus = false;
|
||||
fraction = 0;
|
||||
ColorScheme = new ColorScheme () {
|
||||
Normal = Application.Driver.MakeAttribute (Color.BrightGreen, Color.Gray),
|
||||
HotNormal = Colors.Base.Normal
|
||||
};
|
||||
if (rect.IsEmpty) {
|
||||
Height = 1;
|
||||
}
|
||||
}
|
||||
|
||||
float fraction;
|
||||
@@ -46,32 +107,147 @@ namespace Terminal.Gui {
|
||||
public float Fraction {
|
||||
get => fraction;
|
||||
set {
|
||||
fraction = value;
|
||||
fraction = Math.Min (value, 1);
|
||||
isActivity = false;
|
||||
SetNeedsDisplay ();
|
||||
}
|
||||
}
|
||||
|
||||
ProgressBarStyle progressBarStyle;
|
||||
|
||||
/// <summary>
|
||||
/// Gets/Sets the progress bar style based on the <see cref="Terminal.Gui.ProgressBarStyle"/>
|
||||
/// </summary>
|
||||
public ProgressBarStyle ProgressBarStyle {
|
||||
get => progressBarStyle;
|
||||
set {
|
||||
progressBarStyle = value;
|
||||
switch (value) {
|
||||
case ProgressBarStyle.Blocks:
|
||||
SegmentCharacter = Driver.BlocksMeterSegment;
|
||||
break;
|
||||
case ProgressBarStyle.Continuous:
|
||||
SegmentCharacter = Driver.ContinuousMeterSegment;
|
||||
break;
|
||||
case ProgressBarStyle.MarqueeBlocks:
|
||||
SegmentCharacter = Driver.BlocksMeterSegment;
|
||||
break;
|
||||
case ProgressBarStyle.MarqueeContinuous:
|
||||
SegmentCharacter = Driver.ContinuousMeterSegment;
|
||||
break;
|
||||
}
|
||||
SetNeedsDisplay ();
|
||||
}
|
||||
}
|
||||
|
||||
private ProgressBarFormat progressBarFormat;
|
||||
|
||||
/// <summary>
|
||||
/// Specifies the format that a <see cref="ProgressBar"/> uses to indicate the visual presentation.
|
||||
/// </summary>
|
||||
public ProgressBarFormat ProgressBarFormat {
|
||||
get => progressBarFormat;
|
||||
set {
|
||||
progressBarFormat = value;
|
||||
switch (progressBarFormat) {
|
||||
case ProgressBarFormat.Simple:
|
||||
Height = 1;
|
||||
break;
|
||||
case ProgressBarFormat.SimplePlusPercentage:
|
||||
Height = 2;
|
||||
break;
|
||||
case ProgressBarFormat.Framed:
|
||||
Height = 3;
|
||||
break;
|
||||
case ProgressBarFormat.FramedPlusPercentage:
|
||||
Height = 4;
|
||||
break;
|
||||
case ProgressBarFormat.FramedProgressPadded:
|
||||
Height = 6;
|
||||
break;
|
||||
}
|
||||
SetNeedsDisplay ();
|
||||
}
|
||||
}
|
||||
|
||||
private Rune segmentCharacter = Driver.BlocksMeterSegment;
|
||||
|
||||
/// <summary>
|
||||
/// Segment indicator for meter views.
|
||||
/// </summary>
|
||||
public Rune SegmentCharacter {
|
||||
get => segmentCharacter;
|
||||
set {
|
||||
segmentCharacter = value;
|
||||
SetNeedsDisplay ();
|
||||
}
|
||||
}
|
||||
|
||||
///<inheritdoc/>
|
||||
public override ustring Text {
|
||||
get => GetPercentageText ();
|
||||
set {
|
||||
base.Text = SetPercentageText (value);
|
||||
}
|
||||
}
|
||||
|
||||
ustring GetPercentageText ()
|
||||
{
|
||||
switch (progressBarStyle) {
|
||||
case ProgressBarStyle.Blocks:
|
||||
case ProgressBarStyle.Continuous:
|
||||
return $"{fraction * 100:F0}%";
|
||||
case ProgressBarStyle.MarqueeBlocks:
|
||||
case ProgressBarStyle.MarqueeContinuous:
|
||||
break;
|
||||
}
|
||||
|
||||
return base.Text;
|
||||
}
|
||||
|
||||
ustring SetPercentageText (ustring value)
|
||||
{
|
||||
switch (progressBarStyle) {
|
||||
case ProgressBarStyle.Blocks:
|
||||
case ProgressBarStyle.Continuous:
|
||||
return $"{fraction * 100:F0}%";
|
||||
case ProgressBarStyle.MarqueeBlocks:
|
||||
case ProgressBarStyle.MarqueeContinuous:
|
||||
break;
|
||||
}
|
||||
|
||||
return value;
|
||||
}
|
||||
|
||||
/// <summary>
|
||||
/// Notifies the <see cref="ProgressBar"/> that some progress has taken place.
|
||||
/// </summary>
|
||||
/// <remarks>
|
||||
/// If the <see cref="ProgressBar"/> is is percentage mode, it switches to activity
|
||||
/// mode. If is in activity mode, the marker is moved.
|
||||
/// If the <see cref="ProgressBar"/> is percentage mode, it switches to activity
|
||||
/// mode. If is in activity mode, the marker is moved.
|
||||
/// </remarks>
|
||||
public void Pulse ()
|
||||
{
|
||||
if (activityPos == null) {
|
||||
PopulateActivityPos ();
|
||||
}
|
||||
if (!isActivity) {
|
||||
isActivity = true;
|
||||
activityPos = 0;
|
||||
delta = 1;
|
||||
} else {
|
||||
activityPos += delta;
|
||||
if (activityPos < 0) {
|
||||
activityPos = 1;
|
||||
for (int i = 0; i < activityPos.Length; i++) {
|
||||
activityPos [i] += delta;
|
||||
}
|
||||
int fWidth = GetFrameWidth ();
|
||||
if (activityPos [activityPos.Length - 1] < 0) {
|
||||
for (int i = 0; i < activityPos.Length; i++) {
|
||||
activityPos [i] = i - activityPos.Length + 2;
|
||||
}
|
||||
delta = 1;
|
||||
} else if (activityPos >= Frame.Width) {
|
||||
activityPos = Frame.Width - 2;
|
||||
} else if (activityPos [0] >= fWidth) {
|
||||
for (int i = 0; i < activityPos.Length; i++) {
|
||||
activityPos [i] = fWidth + i - 2;
|
||||
}
|
||||
delta = -1;
|
||||
}
|
||||
}
|
||||
@@ -80,27 +256,97 @@ namespace Terminal.Gui {
|
||||
}
|
||||
|
||||
///<inheritdoc/>
|
||||
public override void Redraw(Rect region)
|
||||
public override void Redraw (Rect region)
|
||||
{
|
||||
DrawFrame ();
|
||||
|
||||
Driver.SetAttribute (ColorScheme.Normal);
|
||||
|
||||
int top = Frame.Width;
|
||||
int fWidth = GetFrameWidth ();
|
||||
if (isActivity) {
|
||||
Move (0, 0);
|
||||
for (int i = 0; i < top; i++)
|
||||
if (i == activityPos)
|
||||
Driver.AddRune (Driver.Stipple);
|
||||
Move (padding, padding);
|
||||
for (int i = 0; i < fWidth; i++)
|
||||
if (Array.IndexOf (activityPos, i) != -1)
|
||||
Driver.AddRune (SegmentCharacter);
|
||||
else
|
||||
Driver.AddRune (' ');
|
||||
} else {
|
||||
Move (0, 0);
|
||||
int mid = (int)(fraction * top);
|
||||
Move (padding, padding);
|
||||
int mid = (int)(fraction * fWidth);
|
||||
int i;
|
||||
for (i = 0; i < mid; i++)
|
||||
Driver.AddRune (Driver.Stipple);
|
||||
for (; i < top; i++)
|
||||
for (i = 0; i < mid & i < fWidth; i++)
|
||||
Driver.AddRune (SegmentCharacter);
|
||||
for (; i < fWidth; i++)
|
||||
Driver.AddRune (' ');
|
||||
}
|
||||
|
||||
DrawText (fWidth);
|
||||
}
|
||||
|
||||
int GetFrameWidth ()
|
||||
{
|
||||
switch (progressBarFormat) {
|
||||
case ProgressBarFormat.Simple:
|
||||
case ProgressBarFormat.SimplePlusPercentage:
|
||||
break;
|
||||
case ProgressBarFormat.Framed:
|
||||
case ProgressBarFormat.FramedPlusPercentage:
|
||||
return Frame.Width - 2;
|
||||
case ProgressBarFormat.FramedProgressPadded:
|
||||
return Frame.Width - 2 - padding;
|
||||
}
|
||||
|
||||
return Frame.Width;
|
||||
}
|
||||
|
||||
void DrawText (int fWidth)
|
||||
{
|
||||
switch (progressBarFormat) {
|
||||
case ProgressBarFormat.Simple:
|
||||
case ProgressBarFormat.Framed:
|
||||
break;
|
||||
case ProgressBarFormat.SimplePlusPercentage:
|
||||
case ProgressBarFormat.FramedPlusPercentage:
|
||||
case ProgressBarFormat.FramedProgressPadded:
|
||||
var tf = new TextFormatter () {
|
||||
Alignment = TextAlignment.Centered,
|
||||
Text = Text
|
||||
};
|
||||
var row = padding + (progressBarFormat == ProgressBarFormat.FramedProgressPadded
|
||||
? 2 : 1);
|
||||
Move (padding, row);
|
||||
var rect = new Rect (padding, row, fWidth, Frame.Height);
|
||||
tf?.Draw (ViewToScreen (rect), ColorScheme.HotNormal, ColorScheme.HotNormal);
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
void DrawFrame ()
|
||||
{
|
||||
switch (progressBarFormat) {
|
||||
case ProgressBarFormat.Simple:
|
||||
case ProgressBarFormat.SimplePlusPercentage:
|
||||
padding = 0;
|
||||
break;
|
||||
case ProgressBarFormat.Framed:
|
||||
case ProgressBarFormat.FramedPlusPercentage:
|
||||
padding = 1;
|
||||
Application.Driver.DrawWindowFrame (ViewToScreen (Bounds), padding, padding, padding, padding, true);
|
||||
break;
|
||||
case ProgressBarFormat.FramedProgressPadded:
|
||||
padding = 2;
|
||||
Application.Driver.DrawWindowFrame (ViewToScreen (Bounds), padding, padding, padding, padding + 1, true);
|
||||
Application.Driver.DrawWindowFrame (ViewToScreen (Bounds), padding - 1, padding - 1, padding - 1, padding - 1, true);
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
void PopulateActivityPos ()
|
||||
{
|
||||
activityPos = new int [Math.Min (Frame.Width / 3, 5)];
|
||||
for (int i = 0; i < activityPos.Length; i++) {
|
||||
activityPos [i] = i - activityPos.Length + 1;
|
||||
}
|
||||
}
|
||||
|
||||
///<inheritdoc/>
|
||||
|
||||
134
UICatalog/Scenarios/ProgressBarStyles.cs
Normal file
134
UICatalog/Scenarios/ProgressBarStyles.cs
Normal file
@@ -0,0 +1,134 @@
|
||||
using System;
|
||||
using System.Linq;
|
||||
using System.Threading;
|
||||
using Terminal.Gui;
|
||||
|
||||
namespace UICatalog {
|
||||
[ScenarioMetadata (Name: "ProgressBar Styles", Description: "Shows the ProgressBar Styles")]
|
||||
[ScenarioCategory ("Controls")]
|
||||
[ScenarioCategory ("MainLoop")]
|
||||
class ProgressBarStyles : Scenario {
|
||||
private Timer _fractionTimer;
|
||||
private Timer _pulseTimer;
|
||||
private const uint _timerTick = 100;
|
||||
|
||||
public override void Setup ()
|
||||
{
|
||||
const float fractionStep = 0.01F;
|
||||
const int pbWidth = 20;
|
||||
|
||||
var pbFormatEnum = Enum.GetValues (typeof (ProgressBarFormat)).Cast<ProgressBarFormat> ().ToList ();
|
||||
|
||||
var rbPBFormat = new RadioGroup (pbFormatEnum.Select (e => NStack.ustring.Make (e.ToString ())).ToArray ()) {
|
||||
X = Pos.Center (),
|
||||
Y = 1
|
||||
};
|
||||
Win.Add (rbPBFormat);
|
||||
|
||||
var label = new Label ("Blocks") {
|
||||
X = Pos.Center (),
|
||||
Y = Pos.Bottom (rbPBFormat) + 1
|
||||
};
|
||||
Win.Add (label);
|
||||
|
||||
var blocksPB = new ProgressBar () {
|
||||
X = Pos.Center (),
|
||||
Y = Pos.Y (label) + 1,
|
||||
Width = pbWidth
|
||||
};
|
||||
Win.Add (blocksPB);
|
||||
|
||||
label = new Label ("Continuous") {
|
||||
X = Pos.Center (),
|
||||
Y = Pos.Bottom (blocksPB) + 1
|
||||
};
|
||||
Win.Add (label);
|
||||
|
||||
var continuousPB = new ProgressBar () {
|
||||
X = Pos.Center (),
|
||||
Y = Pos.Y (label) + 1,
|
||||
Width = pbWidth,
|
||||
ProgressBarStyle = ProgressBarStyle.Continuous
|
||||
};
|
||||
Win.Add (continuousPB);
|
||||
|
||||
var button = new Button ("Start timer") {
|
||||
X = Pos.Center (),
|
||||
Y = Pos.Bottom (continuousPB) + 1
|
||||
};
|
||||
button.Clicked += () => {
|
||||
if (_fractionTimer == null) {
|
||||
button.CanFocus = false;
|
||||
blocksPB.Fraction = 0;
|
||||
continuousPB.Fraction = 0;
|
||||
float fractionSum = 0;
|
||||
_fractionTimer = new Timer ((_) => {
|
||||
fractionSum += fractionStep;
|
||||
blocksPB.Fraction = fractionSum;
|
||||
continuousPB.Fraction = fractionSum;
|
||||
if (fractionSum > 1) {
|
||||
_fractionTimer.Dispose ();
|
||||
_fractionTimer = null;
|
||||
button.CanFocus = true;
|
||||
}
|
||||
Application.MainLoop.Driver.Wakeup ();
|
||||
}, null, 0, _timerTick);
|
||||
}
|
||||
};
|
||||
Win.Add (button);
|
||||
|
||||
label = new Label ("Marquee Blocks") {
|
||||
X = Pos.Center (),
|
||||
Y = Pos.Y (button) + 3
|
||||
};
|
||||
Win.Add (label);
|
||||
|
||||
var marqueesBlocksPB = new ProgressBar () {
|
||||
X = Pos.Center (),
|
||||
Y = Pos.Y (label) + 1,
|
||||
Width = pbWidth,
|
||||
ProgressBarStyle = ProgressBarStyle.MarqueeBlocks
|
||||
};
|
||||
Win.Add (marqueesBlocksPB);
|
||||
|
||||
label = new Label ("Marquee Continuous") {
|
||||
X = Pos.Center (),
|
||||
Y = Pos.Bottom (marqueesBlocksPB) + 1
|
||||
};
|
||||
Win.Add (label);
|
||||
|
||||
var marqueesContinuousPB = new ProgressBar () {
|
||||
X = Pos.Center (),
|
||||
Y = Pos.Y (label) + 1,
|
||||
Width = pbWidth,
|
||||
ProgressBarStyle = ProgressBarStyle.MarqueeContinuous
|
||||
};
|
||||
Win.Add (marqueesContinuousPB);
|
||||
|
||||
rbPBFormat.SelectedItemChanged += (e) => {
|
||||
blocksPB.ProgressBarFormat = (ProgressBarFormat)e.SelectedItem;
|
||||
continuousPB.ProgressBarFormat = (ProgressBarFormat)e.SelectedItem;
|
||||
marqueesBlocksPB.ProgressBarFormat = (ProgressBarFormat)e.SelectedItem;
|
||||
marqueesContinuousPB.ProgressBarFormat = (ProgressBarFormat)e.SelectedItem;
|
||||
};
|
||||
|
||||
_pulseTimer = new Timer ((_) => {
|
||||
marqueesBlocksPB.Text = marqueesContinuousPB.Text = DateTime.Now.TimeOfDay.ToString ();
|
||||
marqueesBlocksPB.Pulse ();
|
||||
marqueesContinuousPB.Pulse ();
|
||||
Application.MainLoop.Driver.Wakeup ();
|
||||
}, null, 0, 300);
|
||||
|
||||
Top.Unloaded += Top_Unloaded;
|
||||
|
||||
void Top_Unloaded ()
|
||||
{
|
||||
if (_pulseTimer != null) {
|
||||
_pulseTimer.Dispose ();
|
||||
_pulseTimer = null;
|
||||
Top.Unloaded -= Top_Unloaded;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
848
UnitTests/ProgressBarTests.cs
Normal file
848
UnitTests/ProgressBarTests.cs
Normal file
@@ -0,0 +1,848 @@
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using System.Text;
|
||||
using System.Threading.Tasks;
|
||||
using Xunit;
|
||||
|
||||
namespace Terminal.Gui.Views {
|
||||
public class ProgressBarTests {
|
||||
[Fact]
|
||||
[AutoInitShutdown]
|
||||
public void Default_Contructor ()
|
||||
{
|
||||
var pb = new ProgressBar ();
|
||||
|
||||
Assert.False (pb.CanFocus);
|
||||
Assert.Equal (0, pb.Fraction);
|
||||
Assert.Equal (new Attribute (Color.BrightGreen, Color.Gray),
|
||||
new Attribute (pb.ColorScheme.Normal.Foreground, pb.ColorScheme.Normal.Background));
|
||||
Assert.Equal (Colors.Base.Normal, pb.ColorScheme.HotNormal);
|
||||
Assert.Equal (1, pb.Height);
|
||||
Assert.Equal (ProgressBarStyle.Blocks, pb.ProgressBarStyle);
|
||||
Assert.Equal (ProgressBarFormat.Simple, pb.ProgressBarFormat);
|
||||
Assert.Equal (Application.Driver.BlocksMeterSegment, pb.SegmentCharacter);
|
||||
}
|
||||
|
||||
[Fact]
|
||||
[AutoInitShutdown]
|
||||
public void ProgressBarStyle_Setter ()
|
||||
{
|
||||
var driver = ((FakeDriver)Application.Driver);
|
||||
|
||||
var pb = new ProgressBar ();
|
||||
|
||||
pb.ProgressBarStyle = ProgressBarStyle.Blocks;
|
||||
Assert.Equal (driver.BlocksMeterSegment, pb.SegmentCharacter);
|
||||
|
||||
pb.ProgressBarStyle = ProgressBarStyle.Continuous;
|
||||
Assert.Equal (driver.ContinuousMeterSegment, pb.SegmentCharacter);
|
||||
|
||||
pb.ProgressBarStyle = ProgressBarStyle.MarqueeBlocks;
|
||||
Assert.Equal (driver.BlocksMeterSegment, pb.SegmentCharacter);
|
||||
|
||||
pb.ProgressBarStyle = ProgressBarStyle.MarqueeContinuous;
|
||||
Assert.Equal (driver.ContinuousMeterSegment, pb.SegmentCharacter);
|
||||
}
|
||||
|
||||
[Fact]
|
||||
[AutoInitShutdown]
|
||||
public void ProgressBarFormat_Setter ()
|
||||
{
|
||||
var pb = new ProgressBar ();
|
||||
|
||||
pb.ProgressBarFormat = ProgressBarFormat.Simple;
|
||||
Assert.Equal (1, pb.Height);
|
||||
|
||||
pb.ProgressBarFormat = ProgressBarFormat.SimplePlusPercentage;
|
||||
Assert.Equal (2, pb.Height);
|
||||
|
||||
pb.ProgressBarFormat = ProgressBarFormat.Framed;
|
||||
Assert.Equal (3, pb.Height);
|
||||
|
||||
pb.ProgressBarFormat = ProgressBarFormat.FramedPlusPercentage;
|
||||
Assert.Equal (4, pb.Height);
|
||||
|
||||
pb.ProgressBarFormat = ProgressBarFormat.FramedProgressPadded;
|
||||
Assert.Equal (6, pb.Height);
|
||||
}
|
||||
|
||||
[Fact]
|
||||
[AutoInitShutdown]
|
||||
public void ProgressBarFormat_MarqueeBlocks_MarqueeContinuous_Setter ()
|
||||
{
|
||||
var driver = ((FakeDriver)Application.Driver);
|
||||
|
||||
var pb1 = new ProgressBar () { ProgressBarStyle = ProgressBarStyle.MarqueeBlocks };
|
||||
var pb2 = new ProgressBar () { ProgressBarStyle = ProgressBarStyle.MarqueeContinuous };
|
||||
|
||||
pb1.ProgressBarFormat = ProgressBarFormat.Simple;
|
||||
Assert.Equal (ProgressBarFormat.Simple, pb1.ProgressBarFormat);
|
||||
Assert.Equal (1, pb1.Height);
|
||||
pb2.ProgressBarFormat = ProgressBarFormat.Simple;
|
||||
Assert.Equal (ProgressBarFormat.Simple, pb2.ProgressBarFormat);
|
||||
Assert.Equal (1, pb2.Height);
|
||||
|
||||
pb1.ProgressBarFormat = ProgressBarFormat.SimplePlusPercentage;
|
||||
Assert.Equal (ProgressBarFormat.SimplePlusPercentage, pb1.ProgressBarFormat);
|
||||
Assert.Equal (2, pb1.Height);
|
||||
pb2.ProgressBarFormat = ProgressBarFormat.SimplePlusPercentage;
|
||||
Assert.Equal (ProgressBarFormat.SimplePlusPercentage, pb2.ProgressBarFormat);
|
||||
Assert.Equal (2, pb2.Height);
|
||||
|
||||
pb1.ProgressBarFormat = ProgressBarFormat.Framed;
|
||||
Assert.Equal (ProgressBarFormat.Framed, pb1.ProgressBarFormat);
|
||||
Assert.Equal (3, pb1.Height);
|
||||
pb2.ProgressBarFormat = ProgressBarFormat.Framed;
|
||||
Assert.Equal (ProgressBarFormat.Framed, pb2.ProgressBarFormat);
|
||||
Assert.Equal (3, pb2.Height);
|
||||
|
||||
pb1.ProgressBarFormat = ProgressBarFormat.FramedPlusPercentage;
|
||||
Assert.Equal (ProgressBarFormat.FramedPlusPercentage, pb1.ProgressBarFormat);
|
||||
Assert.Equal (4, pb1.Height);
|
||||
pb2.ProgressBarFormat = ProgressBarFormat.FramedPlusPercentage;
|
||||
Assert.Equal (ProgressBarFormat.FramedPlusPercentage, pb2.ProgressBarFormat);
|
||||
Assert.Equal (4, pb2.Height);
|
||||
|
||||
pb1.ProgressBarFormat = ProgressBarFormat.FramedProgressPadded;
|
||||
Assert.Equal (ProgressBarFormat.FramedProgressPadded, pb1.ProgressBarFormat);
|
||||
Assert.Equal (6, pb1.Height);
|
||||
pb2.ProgressBarFormat = ProgressBarFormat.FramedProgressPadded;
|
||||
Assert.Equal (ProgressBarFormat.FramedProgressPadded, pb2.ProgressBarFormat);
|
||||
Assert.Equal (6, pb2.Height);
|
||||
}
|
||||
|
||||
[Fact]
|
||||
[AutoInitShutdown]
|
||||
public void Text_Setter_Not_Marquee ()
|
||||
{
|
||||
var pb = new ProgressBar () { Fraction = 0.25F};
|
||||
|
||||
pb.ProgressBarFormat = ProgressBarFormat.Simple;
|
||||
pb.Text = "blabla";
|
||||
Assert.Equal ("25%", pb.Text);
|
||||
|
||||
pb.ProgressBarFormat = ProgressBarFormat.SimplePlusPercentage;
|
||||
pb.Text = "bleble";
|
||||
Assert.Equal ("25%", pb.Text);
|
||||
|
||||
pb.ProgressBarFormat = ProgressBarFormat.Framed;
|
||||
Assert.Equal ("25%", pb.Text);
|
||||
|
||||
pb.ProgressBarFormat = ProgressBarFormat.FramedPlusPercentage;
|
||||
Assert.Equal ("25%", pb.Text);
|
||||
|
||||
pb.ProgressBarFormat = ProgressBarFormat.FramedProgressPadded;
|
||||
Assert.Equal ("25%", pb.Text);
|
||||
}
|
||||
|
||||
[Fact]
|
||||
[AutoInitShutdown]
|
||||
public void Text_Setter_Marquee ()
|
||||
{
|
||||
var pb = new ProgressBar () { Fraction = 0.25F, ProgressBarStyle = ProgressBarStyle.MarqueeBlocks };
|
||||
|
||||
pb.ProgressBarFormat = ProgressBarFormat.Simple;
|
||||
pb.Text = "blabla";
|
||||
Assert.Equal ("blabla", pb.Text);
|
||||
|
||||
pb.ProgressBarFormat = ProgressBarFormat.SimplePlusPercentage;
|
||||
pb.Text = "bleble";
|
||||
Assert.Equal ("bleble", pb.Text);
|
||||
|
||||
pb.ProgressBarFormat = ProgressBarFormat.Framed;
|
||||
Assert.Equal ("bleble", pb.Text);
|
||||
|
||||
pb.ProgressBarFormat = ProgressBarFormat.FramedPlusPercentage;
|
||||
Assert.Equal ("bleble", pb.Text);
|
||||
|
||||
pb.ProgressBarFormat = ProgressBarFormat.FramedProgressPadded;
|
||||
Assert.Equal ("bleble", pb.Text);
|
||||
}
|
||||
|
||||
[Fact]
|
||||
[AutoInitShutdown]
|
||||
public void Pulse_Redraw ()
|
||||
{
|
||||
var driver = ((FakeDriver)Application.Driver);
|
||||
|
||||
var pb = new ProgressBar () {
|
||||
Width = 15,
|
||||
ProgressBarStyle = ProgressBarStyle.MarqueeBlocks
|
||||
};
|
||||
|
||||
for (int i = 0; i < 38; i++) {
|
||||
pb.Pulse ();
|
||||
pb.Redraw (pb.Bounds);
|
||||
if (i == 0) {
|
||||
Assert.Equal (driver.BlocksMeterSegment, (double)driver.Contents [0, 0, 0]);
|
||||
Assert.Equal (' ', (double)driver.Contents [0, 1, 0]);
|
||||
Assert.Equal (' ', (double)driver.Contents [0, 2, 0]);
|
||||
Assert.Equal (' ', (double)driver.Contents [0, 3, 0]);
|
||||
Assert.Equal (' ', (double)driver.Contents [0, 4, 0]);
|
||||
Assert.Equal (' ', (double)driver.Contents [0, 5, 0]);
|
||||
Assert.Equal (' ', (double)driver.Contents [0, 6, 0]);
|
||||
Assert.Equal (' ', (double)driver.Contents [0, 7, 0]);
|
||||
Assert.Equal (' ', (double)driver.Contents [0, 8, 0]);
|
||||
Assert.Equal (' ', (double)driver.Contents [0, 9, 0]);
|
||||
Assert.Equal (' ', (double)driver.Contents [0, 10, 0]);
|
||||
Assert.Equal (' ', (double)driver.Contents [0, 11, 0]);
|
||||
Assert.Equal (' ', (double)driver.Contents [0, 12, 0]);
|
||||
Assert.Equal (' ', (double)driver.Contents [0, 13, 0]);
|
||||
Assert.Equal (' ', (double)driver.Contents [0, 14, 0]);
|
||||
} else if (i == 1) {
|
||||
Assert.Equal (driver.BlocksMeterSegment, (double)driver.Contents [0, 0, 0]);
|
||||
Assert.Equal (driver.BlocksMeterSegment, (double)driver.Contents [0, 1, 0]);
|
||||
Assert.Equal (' ', (double)driver.Contents [0, 2, 0]);
|
||||
Assert.Equal (' ', (double)driver.Contents [0, 3, 0]);
|
||||
Assert.Equal (' ', (double)driver.Contents [0, 4, 0]);
|
||||
Assert.Equal (' ', (double)driver.Contents [0, 5, 0]);
|
||||
Assert.Equal (' ', (double)driver.Contents [0, 6, 0]);
|
||||
Assert.Equal (' ', (double)driver.Contents [0, 7, 0]);
|
||||
Assert.Equal (' ', (double)driver.Contents [0, 8, 0]);
|
||||
Assert.Equal (' ', (double)driver.Contents [0, 9, 0]);
|
||||
Assert.Equal (' ', (double)driver.Contents [0, 10, 0]);
|
||||
Assert.Equal (' ', (double)driver.Contents [0, 11, 0]);
|
||||
Assert.Equal (' ', (double)driver.Contents [0, 12, 0]);
|
||||
Assert.Equal (' ', (double)driver.Contents [0, 13, 0]);
|
||||
Assert.Equal (' ', (double)driver.Contents [0, 14, 0]);
|
||||
} else if (i == 2) {
|
||||
Assert.Equal (driver.BlocksMeterSegment, (double)driver.Contents [0, 0, 0]);
|
||||
Assert.Equal (driver.BlocksMeterSegment, (double)driver.Contents [0, 1, 0]);
|
||||
Assert.Equal (driver.BlocksMeterSegment, (double)driver.Contents [0, 2, 0]);
|
||||
Assert.Equal (' ', (double)driver.Contents [0, 3, 0]);
|
||||
Assert.Equal (' ', (double)driver.Contents [0, 4, 0]);
|
||||
Assert.Equal (' ', (double)driver.Contents [0, 5, 0]);
|
||||
Assert.Equal (' ', (double)driver.Contents [0, 6, 0]);
|
||||
Assert.Equal (' ', (double)driver.Contents [0, 7, 0]);
|
||||
Assert.Equal (' ', (double)driver.Contents [0, 8, 0]);
|
||||
Assert.Equal (' ', (double)driver.Contents [0, 9, 0]);
|
||||
Assert.Equal (' ', (double)driver.Contents [0, 10, 0]);
|
||||
Assert.Equal (' ', (double)driver.Contents [0, 11, 0]);
|
||||
Assert.Equal (' ', (double)driver.Contents [0, 12, 0]);
|
||||
Assert.Equal (' ', (double)driver.Contents [0, 13, 0]);
|
||||
Assert.Equal (' ', (double)driver.Contents [0, 14, 0]);
|
||||
} else if (i == 3) {
|
||||
Assert.Equal (driver.BlocksMeterSegment, (double)driver.Contents [0, 0, 0]);
|
||||
Assert.Equal (driver.BlocksMeterSegment, (double)driver.Contents [0, 1, 0]);
|
||||
Assert.Equal (driver.BlocksMeterSegment, (double)driver.Contents [0, 2, 0]);
|
||||
Assert.Equal (driver.BlocksMeterSegment, (double)driver.Contents [0, 3, 0]);
|
||||
Assert.Equal (' ', (double)driver.Contents [0, 4, 0]);
|
||||
Assert.Equal (' ', (double)driver.Contents [0, 5, 0]);
|
||||
Assert.Equal (' ', (double)driver.Contents [0, 6, 0]);
|
||||
Assert.Equal (' ', (double)driver.Contents [0, 7, 0]);
|
||||
Assert.Equal (' ', (double)driver.Contents [0, 8, 0]);
|
||||
Assert.Equal (' ', (double)driver.Contents [0, 9, 0]);
|
||||
Assert.Equal (' ', (double)driver.Contents [0, 10, 0]);
|
||||
Assert.Equal (' ', (double)driver.Contents [0, 11, 0]);
|
||||
Assert.Equal (' ', (double)driver.Contents [0, 12, 0]);
|
||||
Assert.Equal (' ', (double)driver.Contents [0, 13, 0]);
|
||||
Assert.Equal (' ', (double)driver.Contents [0, 14, 0]);
|
||||
} else if (i == 4) {
|
||||
Assert.Equal (driver.BlocksMeterSegment, (double)driver.Contents [0, 0, 0]);
|
||||
Assert.Equal (driver.BlocksMeterSegment, (double)driver.Contents [0, 1, 0]);
|
||||
Assert.Equal (driver.BlocksMeterSegment, (double)driver.Contents [0, 2, 0]);
|
||||
Assert.Equal (driver.BlocksMeterSegment, (double)driver.Contents [0, 3, 0]);
|
||||
Assert.Equal (driver.BlocksMeterSegment, (double)driver.Contents [0, 4, 0]);
|
||||
Assert.Equal (' ', (double)driver.Contents [0, 5, 0]);
|
||||
Assert.Equal (' ', (double)driver.Contents [0, 6, 0]);
|
||||
Assert.Equal (' ', (double)driver.Contents [0, 7, 0]);
|
||||
Assert.Equal (' ', (double)driver.Contents [0, 8, 0]);
|
||||
Assert.Equal (' ', (double)driver.Contents [0, 9, 0]);
|
||||
Assert.Equal (' ', (double)driver.Contents [0, 10, 0]);
|
||||
Assert.Equal (' ', (double)driver.Contents [0, 11, 0]);
|
||||
Assert.Equal (' ', (double)driver.Contents [0, 12, 0]);
|
||||
Assert.Equal (' ', (double)driver.Contents [0, 13, 0]);
|
||||
Assert.Equal (' ', (double)driver.Contents [0, 14, 0]);
|
||||
} else if (i == 5) {
|
||||
Assert.Equal (' ', (double)driver.Contents [0, 0, 0]);
|
||||
Assert.Equal (driver.BlocksMeterSegment, (double)driver.Contents [0, 1, 0]);
|
||||
Assert.Equal (driver.BlocksMeterSegment, (double)driver.Contents [0, 2, 0]);
|
||||
Assert.Equal (driver.BlocksMeterSegment, (double)driver.Contents [0, 3, 0]);
|
||||
Assert.Equal (driver.BlocksMeterSegment, (double)driver.Contents [0, 4, 0]);
|
||||
Assert.Equal (driver.BlocksMeterSegment, (double)driver.Contents [0, 5, 0]);
|
||||
Assert.Equal (' ', (double)driver.Contents [0, 6, 0]);
|
||||
Assert.Equal (' ', (double)driver.Contents [0, 7, 0]);
|
||||
Assert.Equal (' ', (double)driver.Contents [0, 8, 0]);
|
||||
Assert.Equal (' ', (double)driver.Contents [0, 9, 0]);
|
||||
Assert.Equal (' ', (double)driver.Contents [0, 10, 0]);
|
||||
Assert.Equal (' ', (double)driver.Contents [0, 11, 0]);
|
||||
Assert.Equal (' ', (double)driver.Contents [0, 12, 0]);
|
||||
Assert.Equal (' ', (double)driver.Contents [0, 13, 0]);
|
||||
Assert.Equal (' ', (double)driver.Contents [0, 14, 0]);
|
||||
} else if (i == 6) {
|
||||
Assert.Equal (' ', (double)driver.Contents [0, 0, 0]);
|
||||
Assert.Equal (' ', (double)driver.Contents [0, 1, 0]);
|
||||
Assert.Equal (driver.BlocksMeterSegment, (double)driver.Contents [0, 2, 0]);
|
||||
Assert.Equal (driver.BlocksMeterSegment, (double)driver.Contents [0, 3, 0]);
|
||||
Assert.Equal (driver.BlocksMeterSegment, (double)driver.Contents [0, 4, 0]);
|
||||
Assert.Equal (driver.BlocksMeterSegment, (double)driver.Contents [0, 5, 0]);
|
||||
Assert.Equal (driver.BlocksMeterSegment, (double)driver.Contents [0, 6, 0]);
|
||||
Assert.Equal (' ', (double)driver.Contents [0, 7, 0]);
|
||||
Assert.Equal (' ', (double)driver.Contents [0, 8, 0]);
|
||||
Assert.Equal (' ', (double)driver.Contents [0, 9, 0]);
|
||||
Assert.Equal (' ', (double)driver.Contents [0, 10, 0]);
|
||||
Assert.Equal (' ', (double)driver.Contents [0, 11, 0]);
|
||||
Assert.Equal (' ', (double)driver.Contents [0, 12, 0]);
|
||||
Assert.Equal (' ', (double)driver.Contents [0, 13, 0]);
|
||||
Assert.Equal (' ', (double)driver.Contents [0, 14, 0]);
|
||||
} else if (i == 7) {
|
||||
Assert.Equal (' ', (double)driver.Contents [0, 0, 0]);
|
||||
Assert.Equal (' ', (double)driver.Contents [0, 1, 0]);
|
||||
Assert.Equal (' ', (double)driver.Contents [0, 2, 0]);
|
||||
Assert.Equal (driver.BlocksMeterSegment, (double)driver.Contents [0, 3, 0]);
|
||||
Assert.Equal (driver.BlocksMeterSegment, (double)driver.Contents [0, 4, 0]);
|
||||
Assert.Equal (driver.BlocksMeterSegment, (double)driver.Contents [0, 5, 0]);
|
||||
Assert.Equal (driver.BlocksMeterSegment, (double)driver.Contents [0, 6, 0]);
|
||||
Assert.Equal (driver.BlocksMeterSegment, (double)driver.Contents [0, 7, 0]);
|
||||
Assert.Equal (' ', (double)driver.Contents [0, 8, 0]);
|
||||
Assert.Equal (' ', (double)driver.Contents [0, 9, 0]);
|
||||
Assert.Equal (' ', (double)driver.Contents [0, 10, 0]);
|
||||
Assert.Equal (' ', (double)driver.Contents [0, 11, 0]);
|
||||
Assert.Equal (' ', (double)driver.Contents [0, 12, 0]);
|
||||
Assert.Equal (' ', (double)driver.Contents [0, 13, 0]);
|
||||
Assert.Equal (' ', (double)driver.Contents [0, 14, 0]);
|
||||
} else if (i == 8) {
|
||||
Assert.Equal (' ', (double)driver.Contents [0, 0, 0]);
|
||||
Assert.Equal (' ', (double)driver.Contents [0, 1, 0]);
|
||||
Assert.Equal (' ', (double)driver.Contents [0, 2, 0]);
|
||||
Assert.Equal (' ', (double)driver.Contents [0, 3, 0]);
|
||||
Assert.Equal (driver.BlocksMeterSegment, (double)driver.Contents [0, 4, 0]);
|
||||
Assert.Equal (driver.BlocksMeterSegment, (double)driver.Contents [0, 5, 0]);
|
||||
Assert.Equal (driver.BlocksMeterSegment, (double)driver.Contents [0, 6, 0]);
|
||||
Assert.Equal (driver.BlocksMeterSegment, (double)driver.Contents [0, 7, 0]);
|
||||
Assert.Equal (driver.BlocksMeterSegment, (double)driver.Contents [0, 8, 0]);
|
||||
Assert.Equal (' ', (double)driver.Contents [0, 9, 0]);
|
||||
Assert.Equal (' ', (double)driver.Contents [0, 10, 0]);
|
||||
Assert.Equal (' ', (double)driver.Contents [0, 11, 0]);
|
||||
Assert.Equal (' ', (double)driver.Contents [0, 12, 0]);
|
||||
Assert.Equal (' ', (double)driver.Contents [0, 13, 0]);
|
||||
Assert.Equal (' ', (double)driver.Contents [0, 14, 0]);
|
||||
} else if (i == 9) {
|
||||
Assert.Equal (' ', (double)driver.Contents [0, 0, 0]);
|
||||
Assert.Equal (' ', (double)driver.Contents [0, 1, 0]);
|
||||
Assert.Equal (' ', (double)driver.Contents [0, 2, 0]);
|
||||
Assert.Equal (' ', (double)driver.Contents [0, 3, 0]);
|
||||
Assert.Equal (' ', (double)driver.Contents [0, 4, 0]);
|
||||
Assert.Equal (driver.BlocksMeterSegment, (double)driver.Contents [0, 5, 0]);
|
||||
Assert.Equal (driver.BlocksMeterSegment, (double)driver.Contents [0, 6, 0]);
|
||||
Assert.Equal (driver.BlocksMeterSegment, (double)driver.Contents [0, 7, 0]);
|
||||
Assert.Equal (driver.BlocksMeterSegment, (double)driver.Contents [0, 8, 0]);
|
||||
Assert.Equal (driver.BlocksMeterSegment, (double)driver.Contents [0, 9, 0]);
|
||||
Assert.Equal (' ', (double)driver.Contents [0, 10, 0]);
|
||||
Assert.Equal (' ', (double)driver.Contents [0, 11, 0]);
|
||||
Assert.Equal (' ', (double)driver.Contents [0, 12, 0]);
|
||||
Assert.Equal (' ', (double)driver.Contents [0, 13, 0]);
|
||||
Assert.Equal (' ', (double)driver.Contents [0, 14, 0]);
|
||||
} else if (i == 10) {
|
||||
Assert.Equal (' ', (double)driver.Contents [0, 0, 0]);
|
||||
Assert.Equal (' ', (double)driver.Contents [0, 1, 0]);
|
||||
Assert.Equal (' ', (double)driver.Contents [0, 2, 0]);
|
||||
Assert.Equal (' ', (double)driver.Contents [0, 3, 0]);
|
||||
Assert.Equal (' ', (double)driver.Contents [0, 4, 0]);
|
||||
Assert.Equal (' ', (double)driver.Contents [0, 5, 0]);
|
||||
Assert.Equal (driver.BlocksMeterSegment, (double)driver.Contents [0, 6, 0]);
|
||||
Assert.Equal (driver.BlocksMeterSegment, (double)driver.Contents [0, 7, 0]);
|
||||
Assert.Equal (driver.BlocksMeterSegment, (double)driver.Contents [0, 8, 0]);
|
||||
Assert.Equal (driver.BlocksMeterSegment, (double)driver.Contents [0, 9, 0]);
|
||||
Assert.Equal (driver.BlocksMeterSegment, (double)driver.Contents [0, 10, 0]);
|
||||
Assert.Equal (' ', (double)driver.Contents [0, 11, 0]);
|
||||
Assert.Equal (' ', (double)driver.Contents [0, 12, 0]);
|
||||
Assert.Equal (' ', (double)driver.Contents [0, 13, 0]);
|
||||
Assert.Equal (' ', (double)driver.Contents [0, 14, 0]);
|
||||
} else if (i == 11) {
|
||||
Assert.Equal (' ', (double)driver.Contents [0, 0, 0]);
|
||||
Assert.Equal (' ', (double)driver.Contents [0, 1, 0]);
|
||||
Assert.Equal (' ', (double)driver.Contents [0, 2, 0]);
|
||||
Assert.Equal (' ', (double)driver.Contents [0, 3, 0]);
|
||||
Assert.Equal (' ', (double)driver.Contents [0, 4, 0]);
|
||||
Assert.Equal (' ', (double)driver.Contents [0, 5, 0]);
|
||||
Assert.Equal (' ', (double)driver.Contents [0, 6, 0]);
|
||||
Assert.Equal (driver.BlocksMeterSegment, (double)driver.Contents [0, 7, 0]);
|
||||
Assert.Equal (driver.BlocksMeterSegment, (double)driver.Contents [0, 8, 0]);
|
||||
Assert.Equal (driver.BlocksMeterSegment, (double)driver.Contents [0, 9, 0]);
|
||||
Assert.Equal (driver.BlocksMeterSegment, (double)driver.Contents [0, 10, 0]);
|
||||
Assert.Equal (driver.BlocksMeterSegment, (double)driver.Contents [0, 11, 0]);
|
||||
Assert.Equal (' ', (double)driver.Contents [0, 12, 0]);
|
||||
Assert.Equal (' ', (double)driver.Contents [0, 13, 0]);
|
||||
Assert.Equal (' ', (double)driver.Contents [0, 14, 0]);
|
||||
} else if (i == 12) {
|
||||
Assert.Equal (' ', (double)driver.Contents [0, 0, 0]);
|
||||
Assert.Equal (' ', (double)driver.Contents [0, 1, 0]);
|
||||
Assert.Equal (' ', (double)driver.Contents [0, 2, 0]);
|
||||
Assert.Equal (' ', (double)driver.Contents [0, 3, 0]);
|
||||
Assert.Equal (' ', (double)driver.Contents [0, 4, 0]);
|
||||
Assert.Equal (' ', (double)driver.Contents [0, 5, 0]);
|
||||
Assert.Equal (' ', (double)driver.Contents [0, 6, 0]);
|
||||
Assert.Equal (' ', (double)driver.Contents [0, 7, 0]);
|
||||
Assert.Equal (driver.BlocksMeterSegment, (double)driver.Contents [0, 8, 0]);
|
||||
Assert.Equal (driver.BlocksMeterSegment, (double)driver.Contents [0, 9, 0]);
|
||||
Assert.Equal (driver.BlocksMeterSegment, (double)driver.Contents [0, 10, 0]);
|
||||
Assert.Equal (driver.BlocksMeterSegment, (double)driver.Contents [0, 11, 0]);
|
||||
Assert.Equal (driver.BlocksMeterSegment, (double)driver.Contents [0, 12, 0]);
|
||||
Assert.Equal (' ', (double)driver.Contents [0, 13, 0]);
|
||||
Assert.Equal (' ', (double)driver.Contents [0, 14, 0]);
|
||||
} else if (i == 13) {
|
||||
Assert.Equal (' ', (double)driver.Contents [0, 0, 0]);
|
||||
Assert.Equal (' ', (double)driver.Contents [0, 1, 0]);
|
||||
Assert.Equal (' ', (double)driver.Contents [0, 2, 0]);
|
||||
Assert.Equal (' ', (double)driver.Contents [0, 3, 0]);
|
||||
Assert.Equal (' ', (double)driver.Contents [0, 4, 0]);
|
||||
Assert.Equal (' ', (double)driver.Contents [0, 5, 0]);
|
||||
Assert.Equal (' ', (double)driver.Contents [0, 6, 0]);
|
||||
Assert.Equal (' ', (double)driver.Contents [0, 7, 0]);
|
||||
Assert.Equal (' ', (double)driver.Contents [0, 8, 0]);
|
||||
Assert.Equal (driver.BlocksMeterSegment, (double)driver.Contents [0, 9, 0]);
|
||||
Assert.Equal (driver.BlocksMeterSegment, (double)driver.Contents [0, 10, 0]);
|
||||
Assert.Equal (driver.BlocksMeterSegment, (double)driver.Contents [0, 11, 0]);
|
||||
Assert.Equal (driver.BlocksMeterSegment, (double)driver.Contents [0, 12, 0]);
|
||||
Assert.Equal (driver.BlocksMeterSegment, (double)driver.Contents [0, 13, 0]);
|
||||
Assert.Equal (' ', (double)driver.Contents [0, 14, 0]);
|
||||
} else if (i == 14) {
|
||||
Assert.Equal (' ', (double)driver.Contents [0, 0, 0]);
|
||||
Assert.Equal (' ', (double)driver.Contents [0, 1, 0]);
|
||||
Assert.Equal (' ', (double)driver.Contents [0, 2, 0]);
|
||||
Assert.Equal (' ', (double)driver.Contents [0, 3, 0]);
|
||||
Assert.Equal (' ', (double)driver.Contents [0, 4, 0]);
|
||||
Assert.Equal (' ', (double)driver.Contents [0, 5, 0]);
|
||||
Assert.Equal (' ', (double)driver.Contents [0, 6, 0]);
|
||||
Assert.Equal (' ', (double)driver.Contents [0, 7, 0]);
|
||||
Assert.Equal (' ', (double)driver.Contents [0, 8, 0]);
|
||||
Assert.Equal (' ', (double)driver.Contents [0, 9, 0]);
|
||||
Assert.Equal (driver.BlocksMeterSegment, (double)driver.Contents [0, 10, 0]);
|
||||
Assert.Equal (driver.BlocksMeterSegment, (double)driver.Contents [0, 11, 0]);
|
||||
Assert.Equal (driver.BlocksMeterSegment, (double)driver.Contents [0, 12, 0]);
|
||||
Assert.Equal (driver.BlocksMeterSegment, (double)driver.Contents [0, 13, 0]);
|
||||
Assert.Equal (driver.BlocksMeterSegment, (double)driver.Contents [0, 14, 0]);
|
||||
} else if (i == 15) {
|
||||
Assert.Equal (' ', (double)driver.Contents [0, 0, 0]);
|
||||
Assert.Equal (' ', (double)driver.Contents [0, 1, 0]);
|
||||
Assert.Equal (' ', (double)driver.Contents [0, 2, 0]);
|
||||
Assert.Equal (' ', (double)driver.Contents [0, 3, 0]);
|
||||
Assert.Equal (' ', (double)driver.Contents [0, 4, 0]);
|
||||
Assert.Equal (' ', (double)driver.Contents [0, 5, 0]);
|
||||
Assert.Equal (' ', (double)driver.Contents [0, 6, 0]);
|
||||
Assert.Equal (' ', (double)driver.Contents [0, 7, 0]);
|
||||
Assert.Equal (' ', (double)driver.Contents [0, 8, 0]);
|
||||
Assert.Equal (' ', (double)driver.Contents [0, 9, 0]);
|
||||
Assert.Equal (' ', (double)driver.Contents [0, 10, 0]);
|
||||
Assert.Equal (driver.BlocksMeterSegment, (double)driver.Contents [0, 11, 0]);
|
||||
Assert.Equal (driver.BlocksMeterSegment, (double)driver.Contents [0, 12, 0]);
|
||||
Assert.Equal (driver.BlocksMeterSegment, (double)driver.Contents [0, 13, 0]);
|
||||
Assert.Equal (driver.BlocksMeterSegment, (double)driver.Contents [0, 14, 0]);
|
||||
} else if (i == 16) {
|
||||
Assert.Equal (' ', (double)driver.Contents [0, 0, 0]);
|
||||
Assert.Equal (' ', (double)driver.Contents [0, 1, 0]);
|
||||
Assert.Equal (' ', (double)driver.Contents [0, 2, 0]);
|
||||
Assert.Equal (' ', (double)driver.Contents [0, 3, 0]);
|
||||
Assert.Equal (' ', (double)driver.Contents [0, 4, 0]);
|
||||
Assert.Equal (' ', (double)driver.Contents [0, 5, 0]);
|
||||
Assert.Equal (' ', (double)driver.Contents [0, 6, 0]);
|
||||
Assert.Equal (' ', (double)driver.Contents [0, 7, 0]);
|
||||
Assert.Equal (' ', (double)driver.Contents [0, 8, 0]);
|
||||
Assert.Equal (' ', (double)driver.Contents [0, 9, 0]);
|
||||
Assert.Equal (' ', (double)driver.Contents [0, 10, 0]);
|
||||
Assert.Equal (' ', (double)driver.Contents [0, 11, 0]);
|
||||
Assert.Equal (driver.BlocksMeterSegment, (double)driver.Contents [0, 12, 0]);
|
||||
Assert.Equal (driver.BlocksMeterSegment, (double)driver.Contents [0, 13, 0]);
|
||||
Assert.Equal (driver.BlocksMeterSegment, (double)driver.Contents [0, 14, 0]);
|
||||
} else if (i == 17) {
|
||||
Assert.Equal (' ', (double)driver.Contents [0, 0, 0]);
|
||||
Assert.Equal (' ', (double)driver.Contents [0, 1, 0]);
|
||||
Assert.Equal (' ', (double)driver.Contents [0, 2, 0]);
|
||||
Assert.Equal (' ', (double)driver.Contents [0, 3, 0]);
|
||||
Assert.Equal (' ', (double)driver.Contents [0, 4, 0]);
|
||||
Assert.Equal (' ', (double)driver.Contents [0, 5, 0]);
|
||||
Assert.Equal (' ', (double)driver.Contents [0, 6, 0]);
|
||||
Assert.Equal (' ', (double)driver.Contents [0, 7, 0]);
|
||||
Assert.Equal (' ', (double)driver.Contents [0, 8, 0]);
|
||||
Assert.Equal (' ', (double)driver.Contents [0, 9, 0]);
|
||||
Assert.Equal (' ', (double)driver.Contents [0, 10, 0]);
|
||||
Assert.Equal (' ', (double)driver.Contents [0, 11, 0]);
|
||||
Assert.Equal (' ', (double)driver.Contents [0, 12, 0]);
|
||||
Assert.Equal (driver.BlocksMeterSegment, (double)driver.Contents [0, 13, 0]);
|
||||
Assert.Equal (driver.BlocksMeterSegment, (double)driver.Contents [0, 14, 0]);
|
||||
} else if (i == 18) {
|
||||
Assert.Equal (' ', (double)driver.Contents [0, 0, 0]);
|
||||
Assert.Equal (' ', (double)driver.Contents [0, 1, 0]);
|
||||
Assert.Equal (' ', (double)driver.Contents [0, 2, 0]);
|
||||
Assert.Equal (' ', (double)driver.Contents [0, 3, 0]);
|
||||
Assert.Equal (' ', (double)driver.Contents [0, 4, 0]);
|
||||
Assert.Equal (' ', (double)driver.Contents [0, 5, 0]);
|
||||
Assert.Equal (' ', (double)driver.Contents [0, 6, 0]);
|
||||
Assert.Equal (' ', (double)driver.Contents [0, 7, 0]);
|
||||
Assert.Equal (' ', (double)driver.Contents [0, 8, 0]);
|
||||
Assert.Equal (' ', (double)driver.Contents [0, 9, 0]);
|
||||
Assert.Equal (' ', (double)driver.Contents [0, 10, 0]);
|
||||
Assert.Equal (' ', (double)driver.Contents [0, 11, 0]);
|
||||
Assert.Equal (' ', (double)driver.Contents [0, 12, 0]);
|
||||
Assert.Equal (' ', (double)driver.Contents [0, 13, 0]);
|
||||
Assert.Equal (driver.BlocksMeterSegment, (double)driver.Contents [0, 14, 0]);
|
||||
} else if (i == 19) {
|
||||
Assert.Equal (' ', (double)driver.Contents [0, 0, 0]);
|
||||
Assert.Equal (' ', (double)driver.Contents [0, 1, 0]);
|
||||
Assert.Equal (' ', (double)driver.Contents [0, 2, 0]);
|
||||
Assert.Equal (' ', (double)driver.Contents [0, 3, 0]);
|
||||
Assert.Equal (' ', (double)driver.Contents [0, 4, 0]);
|
||||
Assert.Equal (' ', (double)driver.Contents [0, 5, 0]);
|
||||
Assert.Equal (' ', (double)driver.Contents [0, 6, 0]);
|
||||
Assert.Equal (' ', (double)driver.Contents [0, 7, 0]);
|
||||
Assert.Equal (' ', (double)driver.Contents [0, 8, 0]);
|
||||
Assert.Equal (' ', (double)driver.Contents [0, 9, 0]);
|
||||
Assert.Equal (' ', (double)driver.Contents [0, 10, 0]);
|
||||
Assert.Equal (' ', (double)driver.Contents [0, 11, 0]);
|
||||
Assert.Equal (' ', (double)driver.Contents [0, 12, 0]);
|
||||
Assert.Equal (driver.BlocksMeterSegment, (double)driver.Contents [0, 13, 0]);
|
||||
Assert.Equal (driver.BlocksMeterSegment, (double)driver.Contents [0, 14, 0]);
|
||||
} else if (i == 20) {
|
||||
Assert.Equal (' ', (double)driver.Contents [0, 0, 0]);
|
||||
Assert.Equal (' ', (double)driver.Contents [0, 1, 0]);
|
||||
Assert.Equal (' ', (double)driver.Contents [0, 2, 0]);
|
||||
Assert.Equal (' ', (double)driver.Contents [0, 3, 0]);
|
||||
Assert.Equal (' ', (double)driver.Contents [0, 4, 0]);
|
||||
Assert.Equal (' ', (double)driver.Contents [0, 5, 0]);
|
||||
Assert.Equal (' ', (double)driver.Contents [0, 6, 0]);
|
||||
Assert.Equal (' ', (double)driver.Contents [0, 7, 0]);
|
||||
Assert.Equal (' ', (double)driver.Contents [0, 8, 0]);
|
||||
Assert.Equal (' ', (double)driver.Contents [0, 9, 0]);
|
||||
Assert.Equal (' ', (double)driver.Contents [0, 10, 0]);
|
||||
Assert.Equal (' ', (double)driver.Contents [0, 11, 0]);
|
||||
Assert.Equal (driver.BlocksMeterSegment, (double)driver.Contents [0, 12, 0]);
|
||||
Assert.Equal (driver.BlocksMeterSegment, (double)driver.Contents [0, 13, 0]);
|
||||
Assert.Equal (driver.BlocksMeterSegment, (double)driver.Contents [0, 14, 0]);
|
||||
} else if (i == 21) {
|
||||
Assert.Equal (' ', (double)driver.Contents [0, 0, 0]);
|
||||
Assert.Equal (' ', (double)driver.Contents [0, 1, 0]);
|
||||
Assert.Equal (' ', (double)driver.Contents [0, 2, 0]);
|
||||
Assert.Equal (' ', (double)driver.Contents [0, 3, 0]);
|
||||
Assert.Equal (' ', (double)driver.Contents [0, 4, 0]);
|
||||
Assert.Equal (' ', (double)driver.Contents [0, 5, 0]);
|
||||
Assert.Equal (' ', (double)driver.Contents [0, 6, 0]);
|
||||
Assert.Equal (' ', (double)driver.Contents [0, 7, 0]);
|
||||
Assert.Equal (' ', (double)driver.Contents [0, 8, 0]);
|
||||
Assert.Equal (' ', (double)driver.Contents [0, 9, 0]);
|
||||
Assert.Equal (' ', (double)driver.Contents [0, 10, 0]);
|
||||
Assert.Equal (driver.BlocksMeterSegment, (double)driver.Contents [0, 11, 0]);
|
||||
Assert.Equal (driver.BlocksMeterSegment, (double)driver.Contents [0, 12, 0]);
|
||||
Assert.Equal (driver.BlocksMeterSegment, (double)driver.Contents [0, 13, 0]);
|
||||
Assert.Equal (driver.BlocksMeterSegment, (double)driver.Contents [0, 14, 0]);
|
||||
} else if (i == 22) {
|
||||
Assert.Equal (' ', (double)driver.Contents [0, 0, 0]);
|
||||
Assert.Equal (' ', (double)driver.Contents [0, 1, 0]);
|
||||
Assert.Equal (' ', (double)driver.Contents [0, 2, 0]);
|
||||
Assert.Equal (' ', (double)driver.Contents [0, 3, 0]);
|
||||
Assert.Equal (' ', (double)driver.Contents [0, 4, 0]);
|
||||
Assert.Equal (' ', (double)driver.Contents [0, 5, 0]);
|
||||
Assert.Equal (' ', (double)driver.Contents [0, 6, 0]);
|
||||
Assert.Equal (' ', (double)driver.Contents [0, 7, 0]);
|
||||
Assert.Equal (' ', (double)driver.Contents [0, 8, 0]);
|
||||
Assert.Equal (' ', (double)driver.Contents [0, 9, 0]);
|
||||
Assert.Equal (driver.BlocksMeterSegment, (double)driver.Contents [0, 10, 0]);
|
||||
Assert.Equal (driver.BlocksMeterSegment, (double)driver.Contents [0, 11, 0]);
|
||||
Assert.Equal (driver.BlocksMeterSegment, (double)driver.Contents [0, 12, 0]);
|
||||
Assert.Equal (driver.BlocksMeterSegment, (double)driver.Contents [0, 13, 0]);
|
||||
Assert.Equal (driver.BlocksMeterSegment, (double)driver.Contents [0, 14, 0]);
|
||||
} else if (i == 23) {
|
||||
Assert.Equal (' ', (double)driver.Contents [0, 0, 0]);
|
||||
Assert.Equal (' ', (double)driver.Contents [0, 1, 0]);
|
||||
Assert.Equal (' ', (double)driver.Contents [0, 2, 0]);
|
||||
Assert.Equal (' ', (double)driver.Contents [0, 3, 0]);
|
||||
Assert.Equal (' ', (double)driver.Contents [0, 4, 0]);
|
||||
Assert.Equal (' ', (double)driver.Contents [0, 5, 0]);
|
||||
Assert.Equal (' ', (double)driver.Contents [0, 6, 0]);
|
||||
Assert.Equal (' ', (double)driver.Contents [0, 7, 0]);
|
||||
Assert.Equal (' ', (double)driver.Contents [0, 8, 0]);
|
||||
Assert.Equal (driver.BlocksMeterSegment, (double)driver.Contents [0, 9, 0]);
|
||||
Assert.Equal (driver.BlocksMeterSegment, (double)driver.Contents [0, 10, 0]);
|
||||
Assert.Equal (driver.BlocksMeterSegment, (double)driver.Contents [0, 11, 0]);
|
||||
Assert.Equal (driver.BlocksMeterSegment, (double)driver.Contents [0, 12, 0]);
|
||||
Assert.Equal (driver.BlocksMeterSegment, (double)driver.Contents [0, 13, 0]);
|
||||
Assert.Equal (' ', (double)driver.Contents [0, 14, 0]);
|
||||
} else if (i == 24) {
|
||||
Assert.Equal (' ', (double)driver.Contents [0, 0, 0]);
|
||||
Assert.Equal (' ', (double)driver.Contents [0, 1, 0]);
|
||||
Assert.Equal (' ', (double)driver.Contents [0, 2, 0]);
|
||||
Assert.Equal (' ', (double)driver.Contents [0, 3, 0]);
|
||||
Assert.Equal (' ', (double)driver.Contents [0, 4, 0]);
|
||||
Assert.Equal (' ', (double)driver.Contents [0, 5, 0]);
|
||||
Assert.Equal (' ', (double)driver.Contents [0, 6, 0]);
|
||||
Assert.Equal (' ', (double)driver.Contents [0, 7, 0]);
|
||||
Assert.Equal (driver.BlocksMeterSegment, (double)driver.Contents [0, 8, 0]);
|
||||
Assert.Equal (driver.BlocksMeterSegment, (double)driver.Contents [0, 9, 0]);
|
||||
Assert.Equal (driver.BlocksMeterSegment, (double)driver.Contents [0, 10, 0]);
|
||||
Assert.Equal (driver.BlocksMeterSegment, (double)driver.Contents [0, 11, 0]);
|
||||
Assert.Equal (driver.BlocksMeterSegment, (double)driver.Contents [0, 12, 0]);
|
||||
Assert.Equal (' ', (double)driver.Contents [0, 13, 0]);
|
||||
Assert.Equal (' ', (double)driver.Contents [0, 14, 0]);
|
||||
} else if (i == 25) {
|
||||
Assert.Equal (' ', (double)driver.Contents [0, 0, 0]);
|
||||
Assert.Equal (' ', (double)driver.Contents [0, 1, 0]);
|
||||
Assert.Equal (' ', (double)driver.Contents [0, 2, 0]);
|
||||
Assert.Equal (' ', (double)driver.Contents [0, 3, 0]);
|
||||
Assert.Equal (' ', (double)driver.Contents [0, 4, 0]);
|
||||
Assert.Equal (' ', (double)driver.Contents [0, 5, 0]);
|
||||
Assert.Equal (' ', (double)driver.Contents [0, 6, 0]);
|
||||
Assert.Equal (driver.BlocksMeterSegment, (double)driver.Contents [0, 7, 0]);
|
||||
Assert.Equal (driver.BlocksMeterSegment, (double)driver.Contents [0, 8, 0]);
|
||||
Assert.Equal (driver.BlocksMeterSegment, (double)driver.Contents [0, 9, 0]);
|
||||
Assert.Equal (driver.BlocksMeterSegment, (double)driver.Contents [0, 10, 0]);
|
||||
Assert.Equal (driver.BlocksMeterSegment, (double)driver.Contents [0, 11, 0]);
|
||||
Assert.Equal (' ', (double)driver.Contents [0, 12, 0]);
|
||||
Assert.Equal (' ', (double)driver.Contents [0, 13, 0]);
|
||||
Assert.Equal (' ', (double)driver.Contents [0, 14, 0]);
|
||||
} else if (i == 26) {
|
||||
Assert.Equal (' ', (double)driver.Contents [0, 0, 0]);
|
||||
Assert.Equal (' ', (double)driver.Contents [0, 1, 0]);
|
||||
Assert.Equal (' ', (double)driver.Contents [0, 2, 0]);
|
||||
Assert.Equal (' ', (double)driver.Contents [0, 3, 0]);
|
||||
Assert.Equal (' ', (double)driver.Contents [0, 4, 0]);
|
||||
Assert.Equal (' ', (double)driver.Contents [0, 5, 0]);
|
||||
Assert.Equal (driver.BlocksMeterSegment, (double)driver.Contents [0, 6, 0]);
|
||||
Assert.Equal (driver.BlocksMeterSegment, (double)driver.Contents [0, 7, 0]);
|
||||
Assert.Equal (driver.BlocksMeterSegment, (double)driver.Contents [0, 8, 0]);
|
||||
Assert.Equal (driver.BlocksMeterSegment, (double)driver.Contents [0, 9, 0]);
|
||||
Assert.Equal (driver.BlocksMeterSegment, (double)driver.Contents [0, 10, 0]);
|
||||
Assert.Equal (' ', (double)driver.Contents [0, 11, 0]);
|
||||
Assert.Equal (' ', (double)driver.Contents [0, 12, 0]);
|
||||
Assert.Equal (' ', (double)driver.Contents [0, 13, 0]);
|
||||
Assert.Equal (' ', (double)driver.Contents [0, 14, 0]);
|
||||
} else if (i == 27) {
|
||||
Assert.Equal (' ', (double)driver.Contents [0, 0, 0]);
|
||||
Assert.Equal (' ', (double)driver.Contents [0, 1, 0]);
|
||||
Assert.Equal (' ', (double)driver.Contents [0, 2, 0]);
|
||||
Assert.Equal (' ', (double)driver.Contents [0, 3, 0]);
|
||||
Assert.Equal (' ', (double)driver.Contents [0, 4, 0]);
|
||||
Assert.Equal (driver.BlocksMeterSegment, (double)driver.Contents [0, 5, 0]);
|
||||
Assert.Equal (driver.BlocksMeterSegment, (double)driver.Contents [0, 6, 0]);
|
||||
Assert.Equal (driver.BlocksMeterSegment, (double)driver.Contents [0, 7, 0]);
|
||||
Assert.Equal (driver.BlocksMeterSegment, (double)driver.Contents [0, 8, 0]);
|
||||
Assert.Equal (driver.BlocksMeterSegment, (double)driver.Contents [0, 9, 0]);
|
||||
Assert.Equal (' ', (double)driver.Contents [0, 10, 0]);
|
||||
Assert.Equal (' ', (double)driver.Contents [0, 11, 0]);
|
||||
Assert.Equal (' ', (double)driver.Contents [0, 12, 0]);
|
||||
Assert.Equal (' ', (double)driver.Contents [0, 13, 0]);
|
||||
Assert.Equal (' ', (double)driver.Contents [0, 14, 0]);
|
||||
} else if (i == 28) {
|
||||
Assert.Equal (' ', (double)driver.Contents [0, 0, 0]);
|
||||
Assert.Equal (' ', (double)driver.Contents [0, 1, 0]);
|
||||
Assert.Equal (' ', (double)driver.Contents [0, 2, 0]);
|
||||
Assert.Equal (' ', (double)driver.Contents [0, 3, 0]);
|
||||
Assert.Equal (driver.BlocksMeterSegment, (double)driver.Contents [0, 4, 0]);
|
||||
Assert.Equal (driver.BlocksMeterSegment, (double)driver.Contents [0, 5, 0]);
|
||||
Assert.Equal (driver.BlocksMeterSegment, (double)driver.Contents [0, 6, 0]);
|
||||
Assert.Equal (driver.BlocksMeterSegment, (double)driver.Contents [0, 7, 0]);
|
||||
Assert.Equal (driver.BlocksMeterSegment, (double)driver.Contents [0, 8, 0]);
|
||||
Assert.Equal (' ', (double)driver.Contents [0, 9, 0]);
|
||||
Assert.Equal (' ', (double)driver.Contents [0, 10, 0]);
|
||||
Assert.Equal (' ', (double)driver.Contents [0, 11, 0]);
|
||||
Assert.Equal (' ', (double)driver.Contents [0, 12, 0]);
|
||||
Assert.Equal (' ', (double)driver.Contents [0, 13, 0]);
|
||||
Assert.Equal (' ', (double)driver.Contents [0, 14, 0]);
|
||||
} else if (i == 29) {
|
||||
Assert.Equal (' ', (double)driver.Contents [0, 0, 0]);
|
||||
Assert.Equal (' ', (double)driver.Contents [0, 1, 0]);
|
||||
Assert.Equal (' ', (double)driver.Contents [0, 2, 0]);
|
||||
Assert.Equal (driver.BlocksMeterSegment, (double)driver.Contents [0, 3, 0]);
|
||||
Assert.Equal (driver.BlocksMeterSegment, (double)driver.Contents [0, 4, 0]);
|
||||
Assert.Equal (driver.BlocksMeterSegment, (double)driver.Contents [0, 5, 0]);
|
||||
Assert.Equal (driver.BlocksMeterSegment, (double)driver.Contents [0, 6, 0]);
|
||||
Assert.Equal (driver.BlocksMeterSegment, (double)driver.Contents [0, 7, 0]);
|
||||
Assert.Equal (' ', (double)driver.Contents [0, 8, 0]);
|
||||
Assert.Equal (' ', (double)driver.Contents [0, 9, 0]);
|
||||
Assert.Equal (' ', (double)driver.Contents [0, 10, 0]);
|
||||
Assert.Equal (' ', (double)driver.Contents [0, 11, 0]);
|
||||
Assert.Equal (' ', (double)driver.Contents [0, 12, 0]);
|
||||
Assert.Equal (' ', (double)driver.Contents [0, 13, 0]);
|
||||
Assert.Equal (' ', (double)driver.Contents [0, 14, 0]);
|
||||
} else if (i == 30) {
|
||||
Assert.Equal (' ', (double)driver.Contents [0, 0, 0]);
|
||||
Assert.Equal (' ', (double)driver.Contents [0, 1, 0]);
|
||||
Assert.Equal (driver.BlocksMeterSegment, (double)driver.Contents [0, 2, 0]);
|
||||
Assert.Equal (driver.BlocksMeterSegment, (double)driver.Contents [0, 3, 0]);
|
||||
Assert.Equal (driver.BlocksMeterSegment, (double)driver.Contents [0, 4, 0]);
|
||||
Assert.Equal (driver.BlocksMeterSegment, (double)driver.Contents [0, 5, 0]);
|
||||
Assert.Equal (driver.BlocksMeterSegment, (double)driver.Contents [0, 6, 0]);
|
||||
Assert.Equal (' ', (double)driver.Contents [0, 7, 0]);
|
||||
Assert.Equal (' ', (double)driver.Contents [0, 8, 0]);
|
||||
Assert.Equal (' ', (double)driver.Contents [0, 9, 0]);
|
||||
Assert.Equal (' ', (double)driver.Contents [0, 10, 0]);
|
||||
Assert.Equal (' ', (double)driver.Contents [0, 11, 0]);
|
||||
Assert.Equal (' ', (double)driver.Contents [0, 12, 0]);
|
||||
Assert.Equal (' ', (double)driver.Contents [0, 13, 0]);
|
||||
Assert.Equal (' ', (double)driver.Contents [0, 14, 0]);
|
||||
} else if (i == 31) {
|
||||
Assert.Equal (' ', (double)driver.Contents [0, 0, 0]);
|
||||
Assert.Equal (driver.BlocksMeterSegment, (double)driver.Contents [0, 1, 0]);
|
||||
Assert.Equal (driver.BlocksMeterSegment, (double)driver.Contents [0, 2, 0]);
|
||||
Assert.Equal (driver.BlocksMeterSegment, (double)driver.Contents [0, 3, 0]);
|
||||
Assert.Equal (driver.BlocksMeterSegment, (double)driver.Contents [0, 4, 0]);
|
||||
Assert.Equal (driver.BlocksMeterSegment, (double)driver.Contents [0, 5, 0]);
|
||||
Assert.Equal (' ', (double)driver.Contents [0, 6, 0]);
|
||||
Assert.Equal (' ', (double)driver.Contents [0, 7, 0]);
|
||||
Assert.Equal (' ', (double)driver.Contents [0, 8, 0]);
|
||||
Assert.Equal (' ', (double)driver.Contents [0, 9, 0]);
|
||||
Assert.Equal (' ', (double)driver.Contents [0, 10, 0]);
|
||||
Assert.Equal (' ', (double)driver.Contents [0, 11, 0]);
|
||||
Assert.Equal (' ', (double)driver.Contents [0, 12, 0]);
|
||||
Assert.Equal (' ', (double)driver.Contents [0, 13, 0]);
|
||||
Assert.Equal (' ', (double)driver.Contents [0, 14, 0]);
|
||||
} else if (i == 32) {
|
||||
Assert.Equal (driver.BlocksMeterSegment, (double)driver.Contents [0, 0, 0]);
|
||||
Assert.Equal (driver.BlocksMeterSegment, (double)driver.Contents [0, 1, 0]);
|
||||
Assert.Equal (driver.BlocksMeterSegment, (double)driver.Contents [0, 2, 0]);
|
||||
Assert.Equal (driver.BlocksMeterSegment, (double)driver.Contents [0, 3, 0]);
|
||||
Assert.Equal (driver.BlocksMeterSegment, (double)driver.Contents [0, 4, 0]);
|
||||
Assert.Equal (' ', (double)driver.Contents [0, 5, 0]);
|
||||
Assert.Equal (' ', (double)driver.Contents [0, 6, 0]);
|
||||
Assert.Equal (' ', (double)driver.Contents [0, 7, 0]);
|
||||
Assert.Equal (' ', (double)driver.Contents [0, 8, 0]);
|
||||
Assert.Equal (' ', (double)driver.Contents [0, 9, 0]);
|
||||
Assert.Equal (' ', (double)driver.Contents [0, 10, 0]);
|
||||
Assert.Equal (' ', (double)driver.Contents [0, 11, 0]);
|
||||
Assert.Equal (' ', (double)driver.Contents [0, 12, 0]);
|
||||
Assert.Equal (' ', (double)driver.Contents [0, 13, 0]);
|
||||
Assert.Equal (' ', (double)driver.Contents [0, 14, 0]);
|
||||
} else if (i == 33) {
|
||||
Assert.Equal (driver.BlocksMeterSegment, (double)driver.Contents [0, 0, 0]);
|
||||
Assert.Equal (driver.BlocksMeterSegment, (double)driver.Contents [0, 1, 0]);
|
||||
Assert.Equal (driver.BlocksMeterSegment, (double)driver.Contents [0, 2, 0]);
|
||||
Assert.Equal (driver.BlocksMeterSegment, (double)driver.Contents [0, 3, 0]);
|
||||
Assert.Equal (' ', (double)driver.Contents [0, 4, 0]);
|
||||
Assert.Equal (' ', (double)driver.Contents [0, 5, 0]);
|
||||
Assert.Equal (' ', (double)driver.Contents [0, 6, 0]);
|
||||
Assert.Equal (' ', (double)driver.Contents [0, 7, 0]);
|
||||
Assert.Equal (' ', (double)driver.Contents [0, 8, 0]);
|
||||
Assert.Equal (' ', (double)driver.Contents [0, 9, 0]);
|
||||
Assert.Equal (' ', (double)driver.Contents [0, 10, 0]);
|
||||
Assert.Equal (' ', (double)driver.Contents [0, 11, 0]);
|
||||
Assert.Equal (' ', (double)driver.Contents [0, 12, 0]);
|
||||
Assert.Equal (' ', (double)driver.Contents [0, 13, 0]);
|
||||
Assert.Equal (' ', (double)driver.Contents [0, 14, 0]);
|
||||
} else if (i == 34) {
|
||||
Assert.Equal (driver.BlocksMeterSegment, (double)driver.Contents [0, 0, 0]);
|
||||
Assert.Equal (driver.BlocksMeterSegment, (double)driver.Contents [0, 1, 0]);
|
||||
Assert.Equal (driver.BlocksMeterSegment, (double)driver.Contents [0, 2, 0]);
|
||||
Assert.Equal (' ', (double)driver.Contents [0, 3, 0]);
|
||||
Assert.Equal (' ', (double)driver.Contents [0, 4, 0]);
|
||||
Assert.Equal (' ', (double)driver.Contents [0, 5, 0]);
|
||||
Assert.Equal (' ', (double)driver.Contents [0, 6, 0]);
|
||||
Assert.Equal (' ', (double)driver.Contents [0, 7, 0]);
|
||||
Assert.Equal (' ', (double)driver.Contents [0, 8, 0]);
|
||||
Assert.Equal (' ', (double)driver.Contents [0, 9, 0]);
|
||||
Assert.Equal (' ', (double)driver.Contents [0, 10, 0]);
|
||||
Assert.Equal (' ', (double)driver.Contents [0, 11, 0]);
|
||||
Assert.Equal (' ', (double)driver.Contents [0, 12, 0]);
|
||||
Assert.Equal (' ', (double)driver.Contents [0, 13, 0]);
|
||||
Assert.Equal (' ', (double)driver.Contents [0, 14, 0]);
|
||||
} else if (i == 35) {
|
||||
Assert.Equal (driver.BlocksMeterSegment, (double)driver.Contents [0, 0, 0]);
|
||||
Assert.Equal (driver.BlocksMeterSegment, (double)driver.Contents [0, 1, 0]);
|
||||
Assert.Equal (' ', (double)driver.Contents [0, 2, 0]);
|
||||
Assert.Equal (' ', (double)driver.Contents [0, 3, 0]);
|
||||
Assert.Equal (' ', (double)driver.Contents [0, 4, 0]);
|
||||
Assert.Equal (' ', (double)driver.Contents [0, 5, 0]);
|
||||
Assert.Equal (' ', (double)driver.Contents [0, 6, 0]);
|
||||
Assert.Equal (' ', (double)driver.Contents [0, 7, 0]);
|
||||
Assert.Equal (' ', (double)driver.Contents [0, 8, 0]);
|
||||
Assert.Equal (' ', (double)driver.Contents [0, 9, 0]);
|
||||
Assert.Equal (' ', (double)driver.Contents [0, 10, 0]);
|
||||
Assert.Equal (' ', (double)driver.Contents [0, 11, 0]);
|
||||
Assert.Equal (' ', (double)driver.Contents [0, 12, 0]);
|
||||
Assert.Equal (' ', (double)driver.Contents [0, 13, 0]);
|
||||
Assert.Equal (' ', (double)driver.Contents [0, 14, 0]);
|
||||
} else if (i == 36) {
|
||||
Assert.Equal (driver.BlocksMeterSegment, (double)driver.Contents [0, 0, 0]);
|
||||
Assert.Equal (' ', (double)driver.Contents [0, 1, 0]);
|
||||
Assert.Equal (' ', (double)driver.Contents [0, 2, 0]);
|
||||
Assert.Equal (' ', (double)driver.Contents [0, 3, 0]);
|
||||
Assert.Equal (' ', (double)driver.Contents [0, 4, 0]);
|
||||
Assert.Equal (' ', (double)driver.Contents [0, 5, 0]);
|
||||
Assert.Equal (' ', (double)driver.Contents [0, 6, 0]);
|
||||
Assert.Equal (' ', (double)driver.Contents [0, 7, 0]);
|
||||
Assert.Equal (' ', (double)driver.Contents [0, 8, 0]);
|
||||
Assert.Equal (' ', (double)driver.Contents [0, 9, 0]);
|
||||
Assert.Equal (' ', (double)driver.Contents [0, 10, 0]);
|
||||
Assert.Equal (' ', (double)driver.Contents [0, 11, 0]);
|
||||
Assert.Equal (' ', (double)driver.Contents [0, 12, 0]);
|
||||
Assert.Equal (' ', (double)driver.Contents [0, 13, 0]);
|
||||
Assert.Equal (' ', (double)driver.Contents [0, 14, 0]);
|
||||
} else if (i == 37) {
|
||||
Assert.Equal (driver.BlocksMeterSegment, (double)driver.Contents [0, 0, 0]);
|
||||
Assert.Equal (driver.BlocksMeterSegment, (double)driver.Contents [0, 1, 0]);
|
||||
Assert.Equal (' ', (double)driver.Contents [0, 2, 0]);
|
||||
Assert.Equal (' ', (double)driver.Contents [0, 3, 0]);
|
||||
Assert.Equal (' ', (double)driver.Contents [0, 4, 0]);
|
||||
Assert.Equal (' ', (double)driver.Contents [0, 5, 0]);
|
||||
Assert.Equal (' ', (double)driver.Contents [0, 6, 0]);
|
||||
Assert.Equal (' ', (double)driver.Contents [0, 7, 0]);
|
||||
Assert.Equal (' ', (double)driver.Contents [0, 8, 0]);
|
||||
Assert.Equal (' ', (double)driver.Contents [0, 9, 0]);
|
||||
Assert.Equal (' ', (double)driver.Contents [0, 10, 0]);
|
||||
Assert.Equal (' ', (double)driver.Contents [0, 11, 0]);
|
||||
Assert.Equal (' ', (double)driver.Contents [0, 12, 0]);
|
||||
Assert.Equal (' ', (double)driver.Contents [0, 13, 0]);
|
||||
Assert.Equal (' ', (double)driver.Contents [0, 14, 0]);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
[Fact]
|
||||
[AutoInitShutdown]
|
||||
public void Fraction_Redraw ()
|
||||
{
|
||||
var driver = ((FakeDriver)Application.Driver);
|
||||
|
||||
var pb = new ProgressBar () {
|
||||
Width = 5
|
||||
};
|
||||
|
||||
for (int i = 0; i <= pb.Frame.Width; i++) {
|
||||
pb.Fraction += 0.2F;
|
||||
pb.Redraw (pb.Bounds);
|
||||
if (i == 0) {
|
||||
Assert.Equal (driver.BlocksMeterSegment, (double)driver.Contents [0, 0, 0]);
|
||||
Assert.Equal (' ', (double)driver.Contents [0, 1, 0]);
|
||||
Assert.Equal (' ', (double)driver.Contents [0, 2, 0]);
|
||||
Assert.Equal (' ', (double)driver.Contents [0, 3, 0]);
|
||||
Assert.Equal (' ', (double)driver.Contents [0, 4, 0]);
|
||||
Assert.Equal (' ', (double)driver.Contents [0, 5, 0]);
|
||||
} else if (i == 1) {
|
||||
Assert.Equal (driver.BlocksMeterSegment, (double)driver.Contents [0, 0, 0]);
|
||||
Assert.Equal (driver.BlocksMeterSegment, (double)driver.Contents [0, 1, 0]);
|
||||
Assert.Equal (' ', (double)driver.Contents [0, 2, 0]);
|
||||
Assert.Equal (' ', (double)driver.Contents [0, 3, 0]);
|
||||
Assert.Equal (' ', (double)driver.Contents [0, 4, 0]);
|
||||
Assert.Equal (' ', (double)driver.Contents [0, 5, 0]);
|
||||
} else if (i == 2) {
|
||||
Assert.Equal (driver.BlocksMeterSegment, (double)driver.Contents [0, 0, 0]);
|
||||
Assert.Equal (driver.BlocksMeterSegment, (double)driver.Contents [0, 1, 0]);
|
||||
Assert.Equal (driver.BlocksMeterSegment, (double)driver.Contents [0, 2, 0]);
|
||||
Assert.Equal (' ', (double)driver.Contents [0, 3, 0]);
|
||||
Assert.Equal (' ', (double)driver.Contents [0, 4, 0]);
|
||||
Assert.Equal (' ', (double)driver.Contents [0, 5, 0]);
|
||||
} else if (i == 3) {
|
||||
Assert.Equal (driver.BlocksMeterSegment, (double)driver.Contents [0, 0, 0]);
|
||||
Assert.Equal (driver.BlocksMeterSegment, (double)driver.Contents [0, 1, 0]);
|
||||
Assert.Equal (driver.BlocksMeterSegment, (double)driver.Contents [0, 2, 0]);
|
||||
Assert.Equal (driver.BlocksMeterSegment, (double)driver.Contents [0, 3, 0]);
|
||||
Assert.Equal (' ', (double)driver.Contents [0, 4, 0]);
|
||||
Assert.Equal (' ', (double)driver.Contents [0, 5, 0]);
|
||||
} else if (i == 4) {
|
||||
Assert.Equal (driver.BlocksMeterSegment, (double)driver.Contents [0, 0, 0]);
|
||||
Assert.Equal (driver.BlocksMeterSegment, (double)driver.Contents [0, 1, 0]);
|
||||
Assert.Equal (driver.BlocksMeterSegment, (double)driver.Contents [0, 2, 0]);
|
||||
Assert.Equal (driver.BlocksMeterSegment, (double)driver.Contents [0, 3, 0]);
|
||||
Assert.Equal (driver.BlocksMeterSegment, (double)driver.Contents [0, 4, 0]);
|
||||
Assert.Equal (' ', (double)driver.Contents [0, 5, 0]);
|
||||
} else if (i == 5) {
|
||||
Assert.Equal (driver.BlocksMeterSegment, (double)driver.Contents [0, 0, 0]);
|
||||
Assert.Equal (driver.BlocksMeterSegment, (double)driver.Contents [0, 1, 0]);
|
||||
Assert.Equal (driver.BlocksMeterSegment, (double)driver.Contents [0, 2, 0]);
|
||||
Assert.Equal (driver.BlocksMeterSegment, (double)driver.Contents [0, 3, 0]);
|
||||
Assert.Equal (driver.BlocksMeterSegment, (double)driver.Contents [0, 4, 0]);
|
||||
Assert.Equal (' ', (double)driver.Contents [0, 5, 0]);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user