2
0

ProgressBarTests.cs 46 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848
  1. using System;
  2. using System.Collections.Generic;
  3. using System.Linq;
  4. using System.Text;
  5. using System.Threading.Tasks;
  6. using Xunit;
  7. namespace Terminal.Gui.Views {
  8. public class ProgressBarTests {
  9. [Fact]
  10. [AutoInitShutdown]
  11. public void Default_Contructor ()
  12. {
  13. var pb = new ProgressBar ();
  14. Assert.False (pb.CanFocus);
  15. Assert.Equal (0, pb.Fraction);
  16. Assert.Equal (new Attribute (Color.BrightGreen, Color.Gray),
  17. new Attribute (pb.ColorScheme.Normal.Foreground, pb.ColorScheme.Normal.Background));
  18. Assert.Equal (Colors.Base.Normal, pb.ColorScheme.HotNormal);
  19. Assert.Equal (1, pb.Height);
  20. Assert.Equal (ProgressBarStyle.Blocks, pb.ProgressBarStyle);
  21. Assert.Equal (ProgressBarFormat.Simple, pb.ProgressBarFormat);
  22. Assert.Equal (Application.Driver.BlocksMeterSegment, pb.SegmentCharacter);
  23. }
  24. [Fact]
  25. [AutoInitShutdown]
  26. public void ProgressBarStyle_Setter ()
  27. {
  28. var driver = ((FakeDriver)Application.Driver);
  29. var pb = new ProgressBar ();
  30. pb.ProgressBarStyle = ProgressBarStyle.Blocks;
  31. Assert.Equal (driver.BlocksMeterSegment, pb.SegmentCharacter);
  32. pb.ProgressBarStyle = ProgressBarStyle.Continuous;
  33. Assert.Equal (driver.ContinuousMeterSegment, pb.SegmentCharacter);
  34. pb.ProgressBarStyle = ProgressBarStyle.MarqueeBlocks;
  35. Assert.Equal (driver.BlocksMeterSegment, pb.SegmentCharacter);
  36. pb.ProgressBarStyle = ProgressBarStyle.MarqueeContinuous;
  37. Assert.Equal (driver.ContinuousMeterSegment, pb.SegmentCharacter);
  38. }
  39. [Fact]
  40. [AutoInitShutdown]
  41. public void ProgressBarFormat_Setter ()
  42. {
  43. var pb = new ProgressBar ();
  44. pb.ProgressBarFormat = ProgressBarFormat.Simple;
  45. Assert.Equal (1, pb.Height);
  46. pb.ProgressBarFormat = ProgressBarFormat.SimplePlusPercentage;
  47. Assert.Equal (2, pb.Height);
  48. pb.ProgressBarFormat = ProgressBarFormat.Framed;
  49. Assert.Equal (3, pb.Height);
  50. pb.ProgressBarFormat = ProgressBarFormat.FramedPlusPercentage;
  51. Assert.Equal (4, pb.Height);
  52. pb.ProgressBarFormat = ProgressBarFormat.FramedProgressPadded;
  53. Assert.Equal (6, pb.Height);
  54. }
  55. [Fact]
  56. [AutoInitShutdown]
  57. public void ProgressBarFormat_MarqueeBlocks_MarqueeContinuous_Setter ()
  58. {
  59. var driver = ((FakeDriver)Application.Driver);
  60. var pb1 = new ProgressBar () { ProgressBarStyle = ProgressBarStyle.MarqueeBlocks };
  61. var pb2 = new ProgressBar () { ProgressBarStyle = ProgressBarStyle.MarqueeContinuous };
  62. pb1.ProgressBarFormat = ProgressBarFormat.Simple;
  63. Assert.Equal (ProgressBarFormat.Simple, pb1.ProgressBarFormat);
  64. Assert.Equal (1, pb1.Height);
  65. pb2.ProgressBarFormat = ProgressBarFormat.Simple;
  66. Assert.Equal (ProgressBarFormat.Simple, pb2.ProgressBarFormat);
  67. Assert.Equal (1, pb2.Height);
  68. pb1.ProgressBarFormat = ProgressBarFormat.SimplePlusPercentage;
  69. Assert.Equal (ProgressBarFormat.SimplePlusPercentage, pb1.ProgressBarFormat);
  70. Assert.Equal (2, pb1.Height);
  71. pb2.ProgressBarFormat = ProgressBarFormat.SimplePlusPercentage;
  72. Assert.Equal (ProgressBarFormat.SimplePlusPercentage, pb2.ProgressBarFormat);
  73. Assert.Equal (2, pb2.Height);
  74. pb1.ProgressBarFormat = ProgressBarFormat.Framed;
  75. Assert.Equal (ProgressBarFormat.Framed, pb1.ProgressBarFormat);
  76. Assert.Equal (3, pb1.Height);
  77. pb2.ProgressBarFormat = ProgressBarFormat.Framed;
  78. Assert.Equal (ProgressBarFormat.Framed, pb2.ProgressBarFormat);
  79. Assert.Equal (3, pb2.Height);
  80. pb1.ProgressBarFormat = ProgressBarFormat.FramedPlusPercentage;
  81. Assert.Equal (ProgressBarFormat.FramedPlusPercentage, pb1.ProgressBarFormat);
  82. Assert.Equal (4, pb1.Height);
  83. pb2.ProgressBarFormat = ProgressBarFormat.FramedPlusPercentage;
  84. Assert.Equal (ProgressBarFormat.FramedPlusPercentage, pb2.ProgressBarFormat);
  85. Assert.Equal (4, pb2.Height);
  86. pb1.ProgressBarFormat = ProgressBarFormat.FramedProgressPadded;
  87. Assert.Equal (ProgressBarFormat.FramedProgressPadded, pb1.ProgressBarFormat);
  88. Assert.Equal (6, pb1.Height);
  89. pb2.ProgressBarFormat = ProgressBarFormat.FramedProgressPadded;
  90. Assert.Equal (ProgressBarFormat.FramedProgressPadded, pb2.ProgressBarFormat);
  91. Assert.Equal (6, pb2.Height);
  92. }
  93. [Fact]
  94. [AutoInitShutdown]
  95. public void Text_Setter_Not_Marquee ()
  96. {
  97. var pb = new ProgressBar () { Fraction = 0.25F};
  98. pb.ProgressBarFormat = ProgressBarFormat.Simple;
  99. pb.Text = "blabla";
  100. Assert.Equal ("25%", pb.Text);
  101. pb.ProgressBarFormat = ProgressBarFormat.SimplePlusPercentage;
  102. pb.Text = "bleble";
  103. Assert.Equal ("25%", pb.Text);
  104. pb.ProgressBarFormat = ProgressBarFormat.Framed;
  105. Assert.Equal ("25%", pb.Text);
  106. pb.ProgressBarFormat = ProgressBarFormat.FramedPlusPercentage;
  107. Assert.Equal ("25%", pb.Text);
  108. pb.ProgressBarFormat = ProgressBarFormat.FramedProgressPadded;
  109. Assert.Equal ("25%", pb.Text);
  110. }
  111. [Fact]
  112. [AutoInitShutdown]
  113. public void Text_Setter_Marquee ()
  114. {
  115. var pb = new ProgressBar () { Fraction = 0.25F, ProgressBarStyle = ProgressBarStyle.MarqueeBlocks };
  116. pb.ProgressBarFormat = ProgressBarFormat.Simple;
  117. pb.Text = "blabla";
  118. Assert.Equal ("blabla", pb.Text);
  119. pb.ProgressBarFormat = ProgressBarFormat.SimplePlusPercentage;
  120. pb.Text = "bleble";
  121. Assert.Equal ("bleble", pb.Text);
  122. pb.ProgressBarFormat = ProgressBarFormat.Framed;
  123. Assert.Equal ("bleble", pb.Text);
  124. pb.ProgressBarFormat = ProgressBarFormat.FramedPlusPercentage;
  125. Assert.Equal ("bleble", pb.Text);
  126. pb.ProgressBarFormat = ProgressBarFormat.FramedProgressPadded;
  127. Assert.Equal ("bleble", pb.Text);
  128. }
  129. [Fact]
  130. [AutoInitShutdown]
  131. public void Pulse_Redraw ()
  132. {
  133. var driver = ((FakeDriver)Application.Driver);
  134. var pb = new ProgressBar () {
  135. Width = 15,
  136. ProgressBarStyle = ProgressBarStyle.MarqueeBlocks
  137. };
  138. for (int i = 0; i < 38; i++) {
  139. pb.Pulse ();
  140. pb.Redraw (pb.Bounds);
  141. if (i == 0) {
  142. Assert.Equal (driver.BlocksMeterSegment, (double)driver.Contents [0, 0, 0]);
  143. Assert.Equal (' ', (double)driver.Contents [0, 1, 0]);
  144. Assert.Equal (' ', (double)driver.Contents [0, 2, 0]);
  145. Assert.Equal (' ', (double)driver.Contents [0, 3, 0]);
  146. Assert.Equal (' ', (double)driver.Contents [0, 4, 0]);
  147. Assert.Equal (' ', (double)driver.Contents [0, 5, 0]);
  148. Assert.Equal (' ', (double)driver.Contents [0, 6, 0]);
  149. Assert.Equal (' ', (double)driver.Contents [0, 7, 0]);
  150. Assert.Equal (' ', (double)driver.Contents [0, 8, 0]);
  151. Assert.Equal (' ', (double)driver.Contents [0, 9, 0]);
  152. Assert.Equal (' ', (double)driver.Contents [0, 10, 0]);
  153. Assert.Equal (' ', (double)driver.Contents [0, 11, 0]);
  154. Assert.Equal (' ', (double)driver.Contents [0, 12, 0]);
  155. Assert.Equal (' ', (double)driver.Contents [0, 13, 0]);
  156. Assert.Equal (' ', (double)driver.Contents [0, 14, 0]);
  157. } else if (i == 1) {
  158. Assert.Equal (driver.BlocksMeterSegment, (double)driver.Contents [0, 0, 0]);
  159. Assert.Equal (driver.BlocksMeterSegment, (double)driver.Contents [0, 1, 0]);
  160. Assert.Equal (' ', (double)driver.Contents [0, 2, 0]);
  161. Assert.Equal (' ', (double)driver.Contents [0, 3, 0]);
  162. Assert.Equal (' ', (double)driver.Contents [0, 4, 0]);
  163. Assert.Equal (' ', (double)driver.Contents [0, 5, 0]);
  164. Assert.Equal (' ', (double)driver.Contents [0, 6, 0]);
  165. Assert.Equal (' ', (double)driver.Contents [0, 7, 0]);
  166. Assert.Equal (' ', (double)driver.Contents [0, 8, 0]);
  167. Assert.Equal (' ', (double)driver.Contents [0, 9, 0]);
  168. Assert.Equal (' ', (double)driver.Contents [0, 10, 0]);
  169. Assert.Equal (' ', (double)driver.Contents [0, 11, 0]);
  170. Assert.Equal (' ', (double)driver.Contents [0, 12, 0]);
  171. Assert.Equal (' ', (double)driver.Contents [0, 13, 0]);
  172. Assert.Equal (' ', (double)driver.Contents [0, 14, 0]);
  173. } else if (i == 2) {
  174. Assert.Equal (driver.BlocksMeterSegment, (double)driver.Contents [0, 0, 0]);
  175. Assert.Equal (driver.BlocksMeterSegment, (double)driver.Contents [0, 1, 0]);
  176. Assert.Equal (driver.BlocksMeterSegment, (double)driver.Contents [0, 2, 0]);
  177. Assert.Equal (' ', (double)driver.Contents [0, 3, 0]);
  178. Assert.Equal (' ', (double)driver.Contents [0, 4, 0]);
  179. Assert.Equal (' ', (double)driver.Contents [0, 5, 0]);
  180. Assert.Equal (' ', (double)driver.Contents [0, 6, 0]);
  181. Assert.Equal (' ', (double)driver.Contents [0, 7, 0]);
  182. Assert.Equal (' ', (double)driver.Contents [0, 8, 0]);
  183. Assert.Equal (' ', (double)driver.Contents [0, 9, 0]);
  184. Assert.Equal (' ', (double)driver.Contents [0, 10, 0]);
  185. Assert.Equal (' ', (double)driver.Contents [0, 11, 0]);
  186. Assert.Equal (' ', (double)driver.Contents [0, 12, 0]);
  187. Assert.Equal (' ', (double)driver.Contents [0, 13, 0]);
  188. Assert.Equal (' ', (double)driver.Contents [0, 14, 0]);
  189. } else if (i == 3) {
  190. Assert.Equal (driver.BlocksMeterSegment, (double)driver.Contents [0, 0, 0]);
  191. Assert.Equal (driver.BlocksMeterSegment, (double)driver.Contents [0, 1, 0]);
  192. Assert.Equal (driver.BlocksMeterSegment, (double)driver.Contents [0, 2, 0]);
  193. Assert.Equal (driver.BlocksMeterSegment, (double)driver.Contents [0, 3, 0]);
  194. Assert.Equal (' ', (double)driver.Contents [0, 4, 0]);
  195. Assert.Equal (' ', (double)driver.Contents [0, 5, 0]);
  196. Assert.Equal (' ', (double)driver.Contents [0, 6, 0]);
  197. Assert.Equal (' ', (double)driver.Contents [0, 7, 0]);
  198. Assert.Equal (' ', (double)driver.Contents [0, 8, 0]);
  199. Assert.Equal (' ', (double)driver.Contents [0, 9, 0]);
  200. Assert.Equal (' ', (double)driver.Contents [0, 10, 0]);
  201. Assert.Equal (' ', (double)driver.Contents [0, 11, 0]);
  202. Assert.Equal (' ', (double)driver.Contents [0, 12, 0]);
  203. Assert.Equal (' ', (double)driver.Contents [0, 13, 0]);
  204. Assert.Equal (' ', (double)driver.Contents [0, 14, 0]);
  205. } else if (i == 4) {
  206. Assert.Equal (driver.BlocksMeterSegment, (double)driver.Contents [0, 0, 0]);
  207. Assert.Equal (driver.BlocksMeterSegment, (double)driver.Contents [0, 1, 0]);
  208. Assert.Equal (driver.BlocksMeterSegment, (double)driver.Contents [0, 2, 0]);
  209. Assert.Equal (driver.BlocksMeterSegment, (double)driver.Contents [0, 3, 0]);
  210. Assert.Equal (driver.BlocksMeterSegment, (double)driver.Contents [0, 4, 0]);
  211. Assert.Equal (' ', (double)driver.Contents [0, 5, 0]);
  212. Assert.Equal (' ', (double)driver.Contents [0, 6, 0]);
  213. Assert.Equal (' ', (double)driver.Contents [0, 7, 0]);
  214. Assert.Equal (' ', (double)driver.Contents [0, 8, 0]);
  215. Assert.Equal (' ', (double)driver.Contents [0, 9, 0]);
  216. Assert.Equal (' ', (double)driver.Contents [0, 10, 0]);
  217. Assert.Equal (' ', (double)driver.Contents [0, 11, 0]);
  218. Assert.Equal (' ', (double)driver.Contents [0, 12, 0]);
  219. Assert.Equal (' ', (double)driver.Contents [0, 13, 0]);
  220. Assert.Equal (' ', (double)driver.Contents [0, 14, 0]);
  221. } else if (i == 5) {
  222. Assert.Equal (' ', (double)driver.Contents [0, 0, 0]);
  223. Assert.Equal (driver.BlocksMeterSegment, (double)driver.Contents [0, 1, 0]);
  224. Assert.Equal (driver.BlocksMeterSegment, (double)driver.Contents [0, 2, 0]);
  225. Assert.Equal (driver.BlocksMeterSegment, (double)driver.Contents [0, 3, 0]);
  226. Assert.Equal (driver.BlocksMeterSegment, (double)driver.Contents [0, 4, 0]);
  227. Assert.Equal (driver.BlocksMeterSegment, (double)driver.Contents [0, 5, 0]);
  228. Assert.Equal (' ', (double)driver.Contents [0, 6, 0]);
  229. Assert.Equal (' ', (double)driver.Contents [0, 7, 0]);
  230. Assert.Equal (' ', (double)driver.Contents [0, 8, 0]);
  231. Assert.Equal (' ', (double)driver.Contents [0, 9, 0]);
  232. Assert.Equal (' ', (double)driver.Contents [0, 10, 0]);
  233. Assert.Equal (' ', (double)driver.Contents [0, 11, 0]);
  234. Assert.Equal (' ', (double)driver.Contents [0, 12, 0]);
  235. Assert.Equal (' ', (double)driver.Contents [0, 13, 0]);
  236. Assert.Equal (' ', (double)driver.Contents [0, 14, 0]);
  237. } else if (i == 6) {
  238. Assert.Equal (' ', (double)driver.Contents [0, 0, 0]);
  239. Assert.Equal (' ', (double)driver.Contents [0, 1, 0]);
  240. Assert.Equal (driver.BlocksMeterSegment, (double)driver.Contents [0, 2, 0]);
  241. Assert.Equal (driver.BlocksMeterSegment, (double)driver.Contents [0, 3, 0]);
  242. Assert.Equal (driver.BlocksMeterSegment, (double)driver.Contents [0, 4, 0]);
  243. Assert.Equal (driver.BlocksMeterSegment, (double)driver.Contents [0, 5, 0]);
  244. Assert.Equal (driver.BlocksMeterSegment, (double)driver.Contents [0, 6, 0]);
  245. Assert.Equal (' ', (double)driver.Contents [0, 7, 0]);
  246. Assert.Equal (' ', (double)driver.Contents [0, 8, 0]);
  247. Assert.Equal (' ', (double)driver.Contents [0, 9, 0]);
  248. Assert.Equal (' ', (double)driver.Contents [0, 10, 0]);
  249. Assert.Equal (' ', (double)driver.Contents [0, 11, 0]);
  250. Assert.Equal (' ', (double)driver.Contents [0, 12, 0]);
  251. Assert.Equal (' ', (double)driver.Contents [0, 13, 0]);
  252. Assert.Equal (' ', (double)driver.Contents [0, 14, 0]);
  253. } else if (i == 7) {
  254. Assert.Equal (' ', (double)driver.Contents [0, 0, 0]);
  255. Assert.Equal (' ', (double)driver.Contents [0, 1, 0]);
  256. Assert.Equal (' ', (double)driver.Contents [0, 2, 0]);
  257. Assert.Equal (driver.BlocksMeterSegment, (double)driver.Contents [0, 3, 0]);
  258. Assert.Equal (driver.BlocksMeterSegment, (double)driver.Contents [0, 4, 0]);
  259. Assert.Equal (driver.BlocksMeterSegment, (double)driver.Contents [0, 5, 0]);
  260. Assert.Equal (driver.BlocksMeterSegment, (double)driver.Contents [0, 6, 0]);
  261. Assert.Equal (driver.BlocksMeterSegment, (double)driver.Contents [0, 7, 0]);
  262. Assert.Equal (' ', (double)driver.Contents [0, 8, 0]);
  263. Assert.Equal (' ', (double)driver.Contents [0, 9, 0]);
  264. Assert.Equal (' ', (double)driver.Contents [0, 10, 0]);
  265. Assert.Equal (' ', (double)driver.Contents [0, 11, 0]);
  266. Assert.Equal (' ', (double)driver.Contents [0, 12, 0]);
  267. Assert.Equal (' ', (double)driver.Contents [0, 13, 0]);
  268. Assert.Equal (' ', (double)driver.Contents [0, 14, 0]);
  269. } else if (i == 8) {
  270. Assert.Equal (' ', (double)driver.Contents [0, 0, 0]);
  271. Assert.Equal (' ', (double)driver.Contents [0, 1, 0]);
  272. Assert.Equal (' ', (double)driver.Contents [0, 2, 0]);
  273. Assert.Equal (' ', (double)driver.Contents [0, 3, 0]);
  274. Assert.Equal (driver.BlocksMeterSegment, (double)driver.Contents [0, 4, 0]);
  275. Assert.Equal (driver.BlocksMeterSegment, (double)driver.Contents [0, 5, 0]);
  276. Assert.Equal (driver.BlocksMeterSegment, (double)driver.Contents [0, 6, 0]);
  277. Assert.Equal (driver.BlocksMeterSegment, (double)driver.Contents [0, 7, 0]);
  278. Assert.Equal (driver.BlocksMeterSegment, (double)driver.Contents [0, 8, 0]);
  279. Assert.Equal (' ', (double)driver.Contents [0, 9, 0]);
  280. Assert.Equal (' ', (double)driver.Contents [0, 10, 0]);
  281. Assert.Equal (' ', (double)driver.Contents [0, 11, 0]);
  282. Assert.Equal (' ', (double)driver.Contents [0, 12, 0]);
  283. Assert.Equal (' ', (double)driver.Contents [0, 13, 0]);
  284. Assert.Equal (' ', (double)driver.Contents [0, 14, 0]);
  285. } else if (i == 9) {
  286. Assert.Equal (' ', (double)driver.Contents [0, 0, 0]);
  287. Assert.Equal (' ', (double)driver.Contents [0, 1, 0]);
  288. Assert.Equal (' ', (double)driver.Contents [0, 2, 0]);
  289. Assert.Equal (' ', (double)driver.Contents [0, 3, 0]);
  290. Assert.Equal (' ', (double)driver.Contents [0, 4, 0]);
  291. Assert.Equal (driver.BlocksMeterSegment, (double)driver.Contents [0, 5, 0]);
  292. Assert.Equal (driver.BlocksMeterSegment, (double)driver.Contents [0, 6, 0]);
  293. Assert.Equal (driver.BlocksMeterSegment, (double)driver.Contents [0, 7, 0]);
  294. Assert.Equal (driver.BlocksMeterSegment, (double)driver.Contents [0, 8, 0]);
  295. Assert.Equal (driver.BlocksMeterSegment, (double)driver.Contents [0, 9, 0]);
  296. Assert.Equal (' ', (double)driver.Contents [0, 10, 0]);
  297. Assert.Equal (' ', (double)driver.Contents [0, 11, 0]);
  298. Assert.Equal (' ', (double)driver.Contents [0, 12, 0]);
  299. Assert.Equal (' ', (double)driver.Contents [0, 13, 0]);
  300. Assert.Equal (' ', (double)driver.Contents [0, 14, 0]);
  301. } else if (i == 10) {
  302. Assert.Equal (' ', (double)driver.Contents [0, 0, 0]);
  303. Assert.Equal (' ', (double)driver.Contents [0, 1, 0]);
  304. Assert.Equal (' ', (double)driver.Contents [0, 2, 0]);
  305. Assert.Equal (' ', (double)driver.Contents [0, 3, 0]);
  306. Assert.Equal (' ', (double)driver.Contents [0, 4, 0]);
  307. Assert.Equal (' ', (double)driver.Contents [0, 5, 0]);
  308. Assert.Equal (driver.BlocksMeterSegment, (double)driver.Contents [0, 6, 0]);
  309. Assert.Equal (driver.BlocksMeterSegment, (double)driver.Contents [0, 7, 0]);
  310. Assert.Equal (driver.BlocksMeterSegment, (double)driver.Contents [0, 8, 0]);
  311. Assert.Equal (driver.BlocksMeterSegment, (double)driver.Contents [0, 9, 0]);
  312. Assert.Equal (driver.BlocksMeterSegment, (double)driver.Contents [0, 10, 0]);
  313. Assert.Equal (' ', (double)driver.Contents [0, 11, 0]);
  314. Assert.Equal (' ', (double)driver.Contents [0, 12, 0]);
  315. Assert.Equal (' ', (double)driver.Contents [0, 13, 0]);
  316. Assert.Equal (' ', (double)driver.Contents [0, 14, 0]);
  317. } else if (i == 11) {
  318. Assert.Equal (' ', (double)driver.Contents [0, 0, 0]);
  319. Assert.Equal (' ', (double)driver.Contents [0, 1, 0]);
  320. Assert.Equal (' ', (double)driver.Contents [0, 2, 0]);
  321. Assert.Equal (' ', (double)driver.Contents [0, 3, 0]);
  322. Assert.Equal (' ', (double)driver.Contents [0, 4, 0]);
  323. Assert.Equal (' ', (double)driver.Contents [0, 5, 0]);
  324. Assert.Equal (' ', (double)driver.Contents [0, 6, 0]);
  325. Assert.Equal (driver.BlocksMeterSegment, (double)driver.Contents [0, 7, 0]);
  326. Assert.Equal (driver.BlocksMeterSegment, (double)driver.Contents [0, 8, 0]);
  327. Assert.Equal (driver.BlocksMeterSegment, (double)driver.Contents [0, 9, 0]);
  328. Assert.Equal (driver.BlocksMeterSegment, (double)driver.Contents [0, 10, 0]);
  329. Assert.Equal (driver.BlocksMeterSegment, (double)driver.Contents [0, 11, 0]);
  330. Assert.Equal (' ', (double)driver.Contents [0, 12, 0]);
  331. Assert.Equal (' ', (double)driver.Contents [0, 13, 0]);
  332. Assert.Equal (' ', (double)driver.Contents [0, 14, 0]);
  333. } else if (i == 12) {
  334. Assert.Equal (' ', (double)driver.Contents [0, 0, 0]);
  335. Assert.Equal (' ', (double)driver.Contents [0, 1, 0]);
  336. Assert.Equal (' ', (double)driver.Contents [0, 2, 0]);
  337. Assert.Equal (' ', (double)driver.Contents [0, 3, 0]);
  338. Assert.Equal (' ', (double)driver.Contents [0, 4, 0]);
  339. Assert.Equal (' ', (double)driver.Contents [0, 5, 0]);
  340. Assert.Equal (' ', (double)driver.Contents [0, 6, 0]);
  341. Assert.Equal (' ', (double)driver.Contents [0, 7, 0]);
  342. Assert.Equal (driver.BlocksMeterSegment, (double)driver.Contents [0, 8, 0]);
  343. Assert.Equal (driver.BlocksMeterSegment, (double)driver.Contents [0, 9, 0]);
  344. Assert.Equal (driver.BlocksMeterSegment, (double)driver.Contents [0, 10, 0]);
  345. Assert.Equal (driver.BlocksMeterSegment, (double)driver.Contents [0, 11, 0]);
  346. Assert.Equal (driver.BlocksMeterSegment, (double)driver.Contents [0, 12, 0]);
  347. Assert.Equal (' ', (double)driver.Contents [0, 13, 0]);
  348. Assert.Equal (' ', (double)driver.Contents [0, 14, 0]);
  349. } else if (i == 13) {
  350. Assert.Equal (' ', (double)driver.Contents [0, 0, 0]);
  351. Assert.Equal (' ', (double)driver.Contents [0, 1, 0]);
  352. Assert.Equal (' ', (double)driver.Contents [0, 2, 0]);
  353. Assert.Equal (' ', (double)driver.Contents [0, 3, 0]);
  354. Assert.Equal (' ', (double)driver.Contents [0, 4, 0]);
  355. Assert.Equal (' ', (double)driver.Contents [0, 5, 0]);
  356. Assert.Equal (' ', (double)driver.Contents [0, 6, 0]);
  357. Assert.Equal (' ', (double)driver.Contents [0, 7, 0]);
  358. Assert.Equal (' ', (double)driver.Contents [0, 8, 0]);
  359. Assert.Equal (driver.BlocksMeterSegment, (double)driver.Contents [0, 9, 0]);
  360. Assert.Equal (driver.BlocksMeterSegment, (double)driver.Contents [0, 10, 0]);
  361. Assert.Equal (driver.BlocksMeterSegment, (double)driver.Contents [0, 11, 0]);
  362. Assert.Equal (driver.BlocksMeterSegment, (double)driver.Contents [0, 12, 0]);
  363. Assert.Equal (driver.BlocksMeterSegment, (double)driver.Contents [0, 13, 0]);
  364. Assert.Equal (' ', (double)driver.Contents [0, 14, 0]);
  365. } else if (i == 14) {
  366. Assert.Equal (' ', (double)driver.Contents [0, 0, 0]);
  367. Assert.Equal (' ', (double)driver.Contents [0, 1, 0]);
  368. Assert.Equal (' ', (double)driver.Contents [0, 2, 0]);
  369. Assert.Equal (' ', (double)driver.Contents [0, 3, 0]);
  370. Assert.Equal (' ', (double)driver.Contents [0, 4, 0]);
  371. Assert.Equal (' ', (double)driver.Contents [0, 5, 0]);
  372. Assert.Equal (' ', (double)driver.Contents [0, 6, 0]);
  373. Assert.Equal (' ', (double)driver.Contents [0, 7, 0]);
  374. Assert.Equal (' ', (double)driver.Contents [0, 8, 0]);
  375. Assert.Equal (' ', (double)driver.Contents [0, 9, 0]);
  376. Assert.Equal (driver.BlocksMeterSegment, (double)driver.Contents [0, 10, 0]);
  377. Assert.Equal (driver.BlocksMeterSegment, (double)driver.Contents [0, 11, 0]);
  378. Assert.Equal (driver.BlocksMeterSegment, (double)driver.Contents [0, 12, 0]);
  379. Assert.Equal (driver.BlocksMeterSegment, (double)driver.Contents [0, 13, 0]);
  380. Assert.Equal (driver.BlocksMeterSegment, (double)driver.Contents [0, 14, 0]);
  381. } else if (i == 15) {
  382. Assert.Equal (' ', (double)driver.Contents [0, 0, 0]);
  383. Assert.Equal (' ', (double)driver.Contents [0, 1, 0]);
  384. Assert.Equal (' ', (double)driver.Contents [0, 2, 0]);
  385. Assert.Equal (' ', (double)driver.Contents [0, 3, 0]);
  386. Assert.Equal (' ', (double)driver.Contents [0, 4, 0]);
  387. Assert.Equal (' ', (double)driver.Contents [0, 5, 0]);
  388. Assert.Equal (' ', (double)driver.Contents [0, 6, 0]);
  389. Assert.Equal (' ', (double)driver.Contents [0, 7, 0]);
  390. Assert.Equal (' ', (double)driver.Contents [0, 8, 0]);
  391. Assert.Equal (' ', (double)driver.Contents [0, 9, 0]);
  392. Assert.Equal (' ', (double)driver.Contents [0, 10, 0]);
  393. Assert.Equal (driver.BlocksMeterSegment, (double)driver.Contents [0, 11, 0]);
  394. Assert.Equal (driver.BlocksMeterSegment, (double)driver.Contents [0, 12, 0]);
  395. Assert.Equal (driver.BlocksMeterSegment, (double)driver.Contents [0, 13, 0]);
  396. Assert.Equal (driver.BlocksMeterSegment, (double)driver.Contents [0, 14, 0]);
  397. } else if (i == 16) {
  398. Assert.Equal (' ', (double)driver.Contents [0, 0, 0]);
  399. Assert.Equal (' ', (double)driver.Contents [0, 1, 0]);
  400. Assert.Equal (' ', (double)driver.Contents [0, 2, 0]);
  401. Assert.Equal (' ', (double)driver.Contents [0, 3, 0]);
  402. Assert.Equal (' ', (double)driver.Contents [0, 4, 0]);
  403. Assert.Equal (' ', (double)driver.Contents [0, 5, 0]);
  404. Assert.Equal (' ', (double)driver.Contents [0, 6, 0]);
  405. Assert.Equal (' ', (double)driver.Contents [0, 7, 0]);
  406. Assert.Equal (' ', (double)driver.Contents [0, 8, 0]);
  407. Assert.Equal (' ', (double)driver.Contents [0, 9, 0]);
  408. Assert.Equal (' ', (double)driver.Contents [0, 10, 0]);
  409. Assert.Equal (' ', (double)driver.Contents [0, 11, 0]);
  410. Assert.Equal (driver.BlocksMeterSegment, (double)driver.Contents [0, 12, 0]);
  411. Assert.Equal (driver.BlocksMeterSegment, (double)driver.Contents [0, 13, 0]);
  412. Assert.Equal (driver.BlocksMeterSegment, (double)driver.Contents [0, 14, 0]);
  413. } else if (i == 17) {
  414. Assert.Equal (' ', (double)driver.Contents [0, 0, 0]);
  415. Assert.Equal (' ', (double)driver.Contents [0, 1, 0]);
  416. Assert.Equal (' ', (double)driver.Contents [0, 2, 0]);
  417. Assert.Equal (' ', (double)driver.Contents [0, 3, 0]);
  418. Assert.Equal (' ', (double)driver.Contents [0, 4, 0]);
  419. Assert.Equal (' ', (double)driver.Contents [0, 5, 0]);
  420. Assert.Equal (' ', (double)driver.Contents [0, 6, 0]);
  421. Assert.Equal (' ', (double)driver.Contents [0, 7, 0]);
  422. Assert.Equal (' ', (double)driver.Contents [0, 8, 0]);
  423. Assert.Equal (' ', (double)driver.Contents [0, 9, 0]);
  424. Assert.Equal (' ', (double)driver.Contents [0, 10, 0]);
  425. Assert.Equal (' ', (double)driver.Contents [0, 11, 0]);
  426. Assert.Equal (' ', (double)driver.Contents [0, 12, 0]);
  427. Assert.Equal (driver.BlocksMeterSegment, (double)driver.Contents [0, 13, 0]);
  428. Assert.Equal (driver.BlocksMeterSegment, (double)driver.Contents [0, 14, 0]);
  429. } else if (i == 18) {
  430. Assert.Equal (' ', (double)driver.Contents [0, 0, 0]);
  431. Assert.Equal (' ', (double)driver.Contents [0, 1, 0]);
  432. Assert.Equal (' ', (double)driver.Contents [0, 2, 0]);
  433. Assert.Equal (' ', (double)driver.Contents [0, 3, 0]);
  434. Assert.Equal (' ', (double)driver.Contents [0, 4, 0]);
  435. Assert.Equal (' ', (double)driver.Contents [0, 5, 0]);
  436. Assert.Equal (' ', (double)driver.Contents [0, 6, 0]);
  437. Assert.Equal (' ', (double)driver.Contents [0, 7, 0]);
  438. Assert.Equal (' ', (double)driver.Contents [0, 8, 0]);
  439. Assert.Equal (' ', (double)driver.Contents [0, 9, 0]);
  440. Assert.Equal (' ', (double)driver.Contents [0, 10, 0]);
  441. Assert.Equal (' ', (double)driver.Contents [0, 11, 0]);
  442. Assert.Equal (' ', (double)driver.Contents [0, 12, 0]);
  443. Assert.Equal (' ', (double)driver.Contents [0, 13, 0]);
  444. Assert.Equal (driver.BlocksMeterSegment, (double)driver.Contents [0, 14, 0]);
  445. } else if (i == 19) {
  446. Assert.Equal (' ', (double)driver.Contents [0, 0, 0]);
  447. Assert.Equal (' ', (double)driver.Contents [0, 1, 0]);
  448. Assert.Equal (' ', (double)driver.Contents [0, 2, 0]);
  449. Assert.Equal (' ', (double)driver.Contents [0, 3, 0]);
  450. Assert.Equal (' ', (double)driver.Contents [0, 4, 0]);
  451. Assert.Equal (' ', (double)driver.Contents [0, 5, 0]);
  452. Assert.Equal (' ', (double)driver.Contents [0, 6, 0]);
  453. Assert.Equal (' ', (double)driver.Contents [0, 7, 0]);
  454. Assert.Equal (' ', (double)driver.Contents [0, 8, 0]);
  455. Assert.Equal (' ', (double)driver.Contents [0, 9, 0]);
  456. Assert.Equal (' ', (double)driver.Contents [0, 10, 0]);
  457. Assert.Equal (' ', (double)driver.Contents [0, 11, 0]);
  458. Assert.Equal (' ', (double)driver.Contents [0, 12, 0]);
  459. Assert.Equal (driver.BlocksMeterSegment, (double)driver.Contents [0, 13, 0]);
  460. Assert.Equal (driver.BlocksMeterSegment, (double)driver.Contents [0, 14, 0]);
  461. } else if (i == 20) {
  462. Assert.Equal (' ', (double)driver.Contents [0, 0, 0]);
  463. Assert.Equal (' ', (double)driver.Contents [0, 1, 0]);
  464. Assert.Equal (' ', (double)driver.Contents [0, 2, 0]);
  465. Assert.Equal (' ', (double)driver.Contents [0, 3, 0]);
  466. Assert.Equal (' ', (double)driver.Contents [0, 4, 0]);
  467. Assert.Equal (' ', (double)driver.Contents [0, 5, 0]);
  468. Assert.Equal (' ', (double)driver.Contents [0, 6, 0]);
  469. Assert.Equal (' ', (double)driver.Contents [0, 7, 0]);
  470. Assert.Equal (' ', (double)driver.Contents [0, 8, 0]);
  471. Assert.Equal (' ', (double)driver.Contents [0, 9, 0]);
  472. Assert.Equal (' ', (double)driver.Contents [0, 10, 0]);
  473. Assert.Equal (' ', (double)driver.Contents [0, 11, 0]);
  474. Assert.Equal (driver.BlocksMeterSegment, (double)driver.Contents [0, 12, 0]);
  475. Assert.Equal (driver.BlocksMeterSegment, (double)driver.Contents [0, 13, 0]);
  476. Assert.Equal (driver.BlocksMeterSegment, (double)driver.Contents [0, 14, 0]);
  477. } else if (i == 21) {
  478. Assert.Equal (' ', (double)driver.Contents [0, 0, 0]);
  479. Assert.Equal (' ', (double)driver.Contents [0, 1, 0]);
  480. Assert.Equal (' ', (double)driver.Contents [0, 2, 0]);
  481. Assert.Equal (' ', (double)driver.Contents [0, 3, 0]);
  482. Assert.Equal (' ', (double)driver.Contents [0, 4, 0]);
  483. Assert.Equal (' ', (double)driver.Contents [0, 5, 0]);
  484. Assert.Equal (' ', (double)driver.Contents [0, 6, 0]);
  485. Assert.Equal (' ', (double)driver.Contents [0, 7, 0]);
  486. Assert.Equal (' ', (double)driver.Contents [0, 8, 0]);
  487. Assert.Equal (' ', (double)driver.Contents [0, 9, 0]);
  488. Assert.Equal (' ', (double)driver.Contents [0, 10, 0]);
  489. Assert.Equal (driver.BlocksMeterSegment, (double)driver.Contents [0, 11, 0]);
  490. Assert.Equal (driver.BlocksMeterSegment, (double)driver.Contents [0, 12, 0]);
  491. Assert.Equal (driver.BlocksMeterSegment, (double)driver.Contents [0, 13, 0]);
  492. Assert.Equal (driver.BlocksMeterSegment, (double)driver.Contents [0, 14, 0]);
  493. } else if (i == 22) {
  494. Assert.Equal (' ', (double)driver.Contents [0, 0, 0]);
  495. Assert.Equal (' ', (double)driver.Contents [0, 1, 0]);
  496. Assert.Equal (' ', (double)driver.Contents [0, 2, 0]);
  497. Assert.Equal (' ', (double)driver.Contents [0, 3, 0]);
  498. Assert.Equal (' ', (double)driver.Contents [0, 4, 0]);
  499. Assert.Equal (' ', (double)driver.Contents [0, 5, 0]);
  500. Assert.Equal (' ', (double)driver.Contents [0, 6, 0]);
  501. Assert.Equal (' ', (double)driver.Contents [0, 7, 0]);
  502. Assert.Equal (' ', (double)driver.Contents [0, 8, 0]);
  503. Assert.Equal (' ', (double)driver.Contents [0, 9, 0]);
  504. Assert.Equal (driver.BlocksMeterSegment, (double)driver.Contents [0, 10, 0]);
  505. Assert.Equal (driver.BlocksMeterSegment, (double)driver.Contents [0, 11, 0]);
  506. Assert.Equal (driver.BlocksMeterSegment, (double)driver.Contents [0, 12, 0]);
  507. Assert.Equal (driver.BlocksMeterSegment, (double)driver.Contents [0, 13, 0]);
  508. Assert.Equal (driver.BlocksMeterSegment, (double)driver.Contents [0, 14, 0]);
  509. } else if (i == 23) {
  510. Assert.Equal (' ', (double)driver.Contents [0, 0, 0]);
  511. Assert.Equal (' ', (double)driver.Contents [0, 1, 0]);
  512. Assert.Equal (' ', (double)driver.Contents [0, 2, 0]);
  513. Assert.Equal (' ', (double)driver.Contents [0, 3, 0]);
  514. Assert.Equal (' ', (double)driver.Contents [0, 4, 0]);
  515. Assert.Equal (' ', (double)driver.Contents [0, 5, 0]);
  516. Assert.Equal (' ', (double)driver.Contents [0, 6, 0]);
  517. Assert.Equal (' ', (double)driver.Contents [0, 7, 0]);
  518. Assert.Equal (' ', (double)driver.Contents [0, 8, 0]);
  519. Assert.Equal (driver.BlocksMeterSegment, (double)driver.Contents [0, 9, 0]);
  520. Assert.Equal (driver.BlocksMeterSegment, (double)driver.Contents [0, 10, 0]);
  521. Assert.Equal (driver.BlocksMeterSegment, (double)driver.Contents [0, 11, 0]);
  522. Assert.Equal (driver.BlocksMeterSegment, (double)driver.Contents [0, 12, 0]);
  523. Assert.Equal (driver.BlocksMeterSegment, (double)driver.Contents [0, 13, 0]);
  524. Assert.Equal (' ', (double)driver.Contents [0, 14, 0]);
  525. } else if (i == 24) {
  526. Assert.Equal (' ', (double)driver.Contents [0, 0, 0]);
  527. Assert.Equal (' ', (double)driver.Contents [0, 1, 0]);
  528. Assert.Equal (' ', (double)driver.Contents [0, 2, 0]);
  529. Assert.Equal (' ', (double)driver.Contents [0, 3, 0]);
  530. Assert.Equal (' ', (double)driver.Contents [0, 4, 0]);
  531. Assert.Equal (' ', (double)driver.Contents [0, 5, 0]);
  532. Assert.Equal (' ', (double)driver.Contents [0, 6, 0]);
  533. Assert.Equal (' ', (double)driver.Contents [0, 7, 0]);
  534. Assert.Equal (driver.BlocksMeterSegment, (double)driver.Contents [0, 8, 0]);
  535. Assert.Equal (driver.BlocksMeterSegment, (double)driver.Contents [0, 9, 0]);
  536. Assert.Equal (driver.BlocksMeterSegment, (double)driver.Contents [0, 10, 0]);
  537. Assert.Equal (driver.BlocksMeterSegment, (double)driver.Contents [0, 11, 0]);
  538. Assert.Equal (driver.BlocksMeterSegment, (double)driver.Contents [0, 12, 0]);
  539. Assert.Equal (' ', (double)driver.Contents [0, 13, 0]);
  540. Assert.Equal (' ', (double)driver.Contents [0, 14, 0]);
  541. } else if (i == 25) {
  542. Assert.Equal (' ', (double)driver.Contents [0, 0, 0]);
  543. Assert.Equal (' ', (double)driver.Contents [0, 1, 0]);
  544. Assert.Equal (' ', (double)driver.Contents [0, 2, 0]);
  545. Assert.Equal (' ', (double)driver.Contents [0, 3, 0]);
  546. Assert.Equal (' ', (double)driver.Contents [0, 4, 0]);
  547. Assert.Equal (' ', (double)driver.Contents [0, 5, 0]);
  548. Assert.Equal (' ', (double)driver.Contents [0, 6, 0]);
  549. Assert.Equal (driver.BlocksMeterSegment, (double)driver.Contents [0, 7, 0]);
  550. Assert.Equal (driver.BlocksMeterSegment, (double)driver.Contents [0, 8, 0]);
  551. Assert.Equal (driver.BlocksMeterSegment, (double)driver.Contents [0, 9, 0]);
  552. Assert.Equal (driver.BlocksMeterSegment, (double)driver.Contents [0, 10, 0]);
  553. Assert.Equal (driver.BlocksMeterSegment, (double)driver.Contents [0, 11, 0]);
  554. Assert.Equal (' ', (double)driver.Contents [0, 12, 0]);
  555. Assert.Equal (' ', (double)driver.Contents [0, 13, 0]);
  556. Assert.Equal (' ', (double)driver.Contents [0, 14, 0]);
  557. } else if (i == 26) {
  558. Assert.Equal (' ', (double)driver.Contents [0, 0, 0]);
  559. Assert.Equal (' ', (double)driver.Contents [0, 1, 0]);
  560. Assert.Equal (' ', (double)driver.Contents [0, 2, 0]);
  561. Assert.Equal (' ', (double)driver.Contents [0, 3, 0]);
  562. Assert.Equal (' ', (double)driver.Contents [0, 4, 0]);
  563. Assert.Equal (' ', (double)driver.Contents [0, 5, 0]);
  564. Assert.Equal (driver.BlocksMeterSegment, (double)driver.Contents [0, 6, 0]);
  565. Assert.Equal (driver.BlocksMeterSegment, (double)driver.Contents [0, 7, 0]);
  566. Assert.Equal (driver.BlocksMeterSegment, (double)driver.Contents [0, 8, 0]);
  567. Assert.Equal (driver.BlocksMeterSegment, (double)driver.Contents [0, 9, 0]);
  568. Assert.Equal (driver.BlocksMeterSegment, (double)driver.Contents [0, 10, 0]);
  569. Assert.Equal (' ', (double)driver.Contents [0, 11, 0]);
  570. Assert.Equal (' ', (double)driver.Contents [0, 12, 0]);
  571. Assert.Equal (' ', (double)driver.Contents [0, 13, 0]);
  572. Assert.Equal (' ', (double)driver.Contents [0, 14, 0]);
  573. } else if (i == 27) {
  574. Assert.Equal (' ', (double)driver.Contents [0, 0, 0]);
  575. Assert.Equal (' ', (double)driver.Contents [0, 1, 0]);
  576. Assert.Equal (' ', (double)driver.Contents [0, 2, 0]);
  577. Assert.Equal (' ', (double)driver.Contents [0, 3, 0]);
  578. Assert.Equal (' ', (double)driver.Contents [0, 4, 0]);
  579. Assert.Equal (driver.BlocksMeterSegment, (double)driver.Contents [0, 5, 0]);
  580. Assert.Equal (driver.BlocksMeterSegment, (double)driver.Contents [0, 6, 0]);
  581. Assert.Equal (driver.BlocksMeterSegment, (double)driver.Contents [0, 7, 0]);
  582. Assert.Equal (driver.BlocksMeterSegment, (double)driver.Contents [0, 8, 0]);
  583. Assert.Equal (driver.BlocksMeterSegment, (double)driver.Contents [0, 9, 0]);
  584. Assert.Equal (' ', (double)driver.Contents [0, 10, 0]);
  585. Assert.Equal (' ', (double)driver.Contents [0, 11, 0]);
  586. Assert.Equal (' ', (double)driver.Contents [0, 12, 0]);
  587. Assert.Equal (' ', (double)driver.Contents [0, 13, 0]);
  588. Assert.Equal (' ', (double)driver.Contents [0, 14, 0]);
  589. } else if (i == 28) {
  590. Assert.Equal (' ', (double)driver.Contents [0, 0, 0]);
  591. Assert.Equal (' ', (double)driver.Contents [0, 1, 0]);
  592. Assert.Equal (' ', (double)driver.Contents [0, 2, 0]);
  593. Assert.Equal (' ', (double)driver.Contents [0, 3, 0]);
  594. Assert.Equal (driver.BlocksMeterSegment, (double)driver.Contents [0, 4, 0]);
  595. Assert.Equal (driver.BlocksMeterSegment, (double)driver.Contents [0, 5, 0]);
  596. Assert.Equal (driver.BlocksMeterSegment, (double)driver.Contents [0, 6, 0]);
  597. Assert.Equal (driver.BlocksMeterSegment, (double)driver.Contents [0, 7, 0]);
  598. Assert.Equal (driver.BlocksMeterSegment, (double)driver.Contents [0, 8, 0]);
  599. Assert.Equal (' ', (double)driver.Contents [0, 9, 0]);
  600. Assert.Equal (' ', (double)driver.Contents [0, 10, 0]);
  601. Assert.Equal (' ', (double)driver.Contents [0, 11, 0]);
  602. Assert.Equal (' ', (double)driver.Contents [0, 12, 0]);
  603. Assert.Equal (' ', (double)driver.Contents [0, 13, 0]);
  604. Assert.Equal (' ', (double)driver.Contents [0, 14, 0]);
  605. } else if (i == 29) {
  606. Assert.Equal (' ', (double)driver.Contents [0, 0, 0]);
  607. Assert.Equal (' ', (double)driver.Contents [0, 1, 0]);
  608. Assert.Equal (' ', (double)driver.Contents [0, 2, 0]);
  609. Assert.Equal (driver.BlocksMeterSegment, (double)driver.Contents [0, 3, 0]);
  610. Assert.Equal (driver.BlocksMeterSegment, (double)driver.Contents [0, 4, 0]);
  611. Assert.Equal (driver.BlocksMeterSegment, (double)driver.Contents [0, 5, 0]);
  612. Assert.Equal (driver.BlocksMeterSegment, (double)driver.Contents [0, 6, 0]);
  613. Assert.Equal (driver.BlocksMeterSegment, (double)driver.Contents [0, 7, 0]);
  614. Assert.Equal (' ', (double)driver.Contents [0, 8, 0]);
  615. Assert.Equal (' ', (double)driver.Contents [0, 9, 0]);
  616. Assert.Equal (' ', (double)driver.Contents [0, 10, 0]);
  617. Assert.Equal (' ', (double)driver.Contents [0, 11, 0]);
  618. Assert.Equal (' ', (double)driver.Contents [0, 12, 0]);
  619. Assert.Equal (' ', (double)driver.Contents [0, 13, 0]);
  620. Assert.Equal (' ', (double)driver.Contents [0, 14, 0]);
  621. } else if (i == 30) {
  622. Assert.Equal (' ', (double)driver.Contents [0, 0, 0]);
  623. Assert.Equal (' ', (double)driver.Contents [0, 1, 0]);
  624. Assert.Equal (driver.BlocksMeterSegment, (double)driver.Contents [0, 2, 0]);
  625. Assert.Equal (driver.BlocksMeterSegment, (double)driver.Contents [0, 3, 0]);
  626. Assert.Equal (driver.BlocksMeterSegment, (double)driver.Contents [0, 4, 0]);
  627. Assert.Equal (driver.BlocksMeterSegment, (double)driver.Contents [0, 5, 0]);
  628. Assert.Equal (driver.BlocksMeterSegment, (double)driver.Contents [0, 6, 0]);
  629. Assert.Equal (' ', (double)driver.Contents [0, 7, 0]);
  630. Assert.Equal (' ', (double)driver.Contents [0, 8, 0]);
  631. Assert.Equal (' ', (double)driver.Contents [0, 9, 0]);
  632. Assert.Equal (' ', (double)driver.Contents [0, 10, 0]);
  633. Assert.Equal (' ', (double)driver.Contents [0, 11, 0]);
  634. Assert.Equal (' ', (double)driver.Contents [0, 12, 0]);
  635. Assert.Equal (' ', (double)driver.Contents [0, 13, 0]);
  636. Assert.Equal (' ', (double)driver.Contents [0, 14, 0]);
  637. } else if (i == 31) {
  638. Assert.Equal (' ', (double)driver.Contents [0, 0, 0]);
  639. Assert.Equal (driver.BlocksMeterSegment, (double)driver.Contents [0, 1, 0]);
  640. Assert.Equal (driver.BlocksMeterSegment, (double)driver.Contents [0, 2, 0]);
  641. Assert.Equal (driver.BlocksMeterSegment, (double)driver.Contents [0, 3, 0]);
  642. Assert.Equal (driver.BlocksMeterSegment, (double)driver.Contents [0, 4, 0]);
  643. Assert.Equal (driver.BlocksMeterSegment, (double)driver.Contents [0, 5, 0]);
  644. Assert.Equal (' ', (double)driver.Contents [0, 6, 0]);
  645. Assert.Equal (' ', (double)driver.Contents [0, 7, 0]);
  646. Assert.Equal (' ', (double)driver.Contents [0, 8, 0]);
  647. Assert.Equal (' ', (double)driver.Contents [0, 9, 0]);
  648. Assert.Equal (' ', (double)driver.Contents [0, 10, 0]);
  649. Assert.Equal (' ', (double)driver.Contents [0, 11, 0]);
  650. Assert.Equal (' ', (double)driver.Contents [0, 12, 0]);
  651. Assert.Equal (' ', (double)driver.Contents [0, 13, 0]);
  652. Assert.Equal (' ', (double)driver.Contents [0, 14, 0]);
  653. } else if (i == 32) {
  654. Assert.Equal (driver.BlocksMeterSegment, (double)driver.Contents [0, 0, 0]);
  655. Assert.Equal (driver.BlocksMeterSegment, (double)driver.Contents [0, 1, 0]);
  656. Assert.Equal (driver.BlocksMeterSegment, (double)driver.Contents [0, 2, 0]);
  657. Assert.Equal (driver.BlocksMeterSegment, (double)driver.Contents [0, 3, 0]);
  658. Assert.Equal (driver.BlocksMeterSegment, (double)driver.Contents [0, 4, 0]);
  659. Assert.Equal (' ', (double)driver.Contents [0, 5, 0]);
  660. Assert.Equal (' ', (double)driver.Contents [0, 6, 0]);
  661. Assert.Equal (' ', (double)driver.Contents [0, 7, 0]);
  662. Assert.Equal (' ', (double)driver.Contents [0, 8, 0]);
  663. Assert.Equal (' ', (double)driver.Contents [0, 9, 0]);
  664. Assert.Equal (' ', (double)driver.Contents [0, 10, 0]);
  665. Assert.Equal (' ', (double)driver.Contents [0, 11, 0]);
  666. Assert.Equal (' ', (double)driver.Contents [0, 12, 0]);
  667. Assert.Equal (' ', (double)driver.Contents [0, 13, 0]);
  668. Assert.Equal (' ', (double)driver.Contents [0, 14, 0]);
  669. } else if (i == 33) {
  670. Assert.Equal (driver.BlocksMeterSegment, (double)driver.Contents [0, 0, 0]);
  671. Assert.Equal (driver.BlocksMeterSegment, (double)driver.Contents [0, 1, 0]);
  672. Assert.Equal (driver.BlocksMeterSegment, (double)driver.Contents [0, 2, 0]);
  673. Assert.Equal (driver.BlocksMeterSegment, (double)driver.Contents [0, 3, 0]);
  674. Assert.Equal (' ', (double)driver.Contents [0, 4, 0]);
  675. Assert.Equal (' ', (double)driver.Contents [0, 5, 0]);
  676. Assert.Equal (' ', (double)driver.Contents [0, 6, 0]);
  677. Assert.Equal (' ', (double)driver.Contents [0, 7, 0]);
  678. Assert.Equal (' ', (double)driver.Contents [0, 8, 0]);
  679. Assert.Equal (' ', (double)driver.Contents [0, 9, 0]);
  680. Assert.Equal (' ', (double)driver.Contents [0, 10, 0]);
  681. Assert.Equal (' ', (double)driver.Contents [0, 11, 0]);
  682. Assert.Equal (' ', (double)driver.Contents [0, 12, 0]);
  683. Assert.Equal (' ', (double)driver.Contents [0, 13, 0]);
  684. Assert.Equal (' ', (double)driver.Contents [0, 14, 0]);
  685. } else if (i == 34) {
  686. Assert.Equal (driver.BlocksMeterSegment, (double)driver.Contents [0, 0, 0]);
  687. Assert.Equal (driver.BlocksMeterSegment, (double)driver.Contents [0, 1, 0]);
  688. Assert.Equal (driver.BlocksMeterSegment, (double)driver.Contents [0, 2, 0]);
  689. Assert.Equal (' ', (double)driver.Contents [0, 3, 0]);
  690. Assert.Equal (' ', (double)driver.Contents [0, 4, 0]);
  691. Assert.Equal (' ', (double)driver.Contents [0, 5, 0]);
  692. Assert.Equal (' ', (double)driver.Contents [0, 6, 0]);
  693. Assert.Equal (' ', (double)driver.Contents [0, 7, 0]);
  694. Assert.Equal (' ', (double)driver.Contents [0, 8, 0]);
  695. Assert.Equal (' ', (double)driver.Contents [0, 9, 0]);
  696. Assert.Equal (' ', (double)driver.Contents [0, 10, 0]);
  697. Assert.Equal (' ', (double)driver.Contents [0, 11, 0]);
  698. Assert.Equal (' ', (double)driver.Contents [0, 12, 0]);
  699. Assert.Equal (' ', (double)driver.Contents [0, 13, 0]);
  700. Assert.Equal (' ', (double)driver.Contents [0, 14, 0]);
  701. } else if (i == 35) {
  702. Assert.Equal (driver.BlocksMeterSegment, (double)driver.Contents [0, 0, 0]);
  703. Assert.Equal (driver.BlocksMeterSegment, (double)driver.Contents [0, 1, 0]);
  704. Assert.Equal (' ', (double)driver.Contents [0, 2, 0]);
  705. Assert.Equal (' ', (double)driver.Contents [0, 3, 0]);
  706. Assert.Equal (' ', (double)driver.Contents [0, 4, 0]);
  707. Assert.Equal (' ', (double)driver.Contents [0, 5, 0]);
  708. Assert.Equal (' ', (double)driver.Contents [0, 6, 0]);
  709. Assert.Equal (' ', (double)driver.Contents [0, 7, 0]);
  710. Assert.Equal (' ', (double)driver.Contents [0, 8, 0]);
  711. Assert.Equal (' ', (double)driver.Contents [0, 9, 0]);
  712. Assert.Equal (' ', (double)driver.Contents [0, 10, 0]);
  713. Assert.Equal (' ', (double)driver.Contents [0, 11, 0]);
  714. Assert.Equal (' ', (double)driver.Contents [0, 12, 0]);
  715. Assert.Equal (' ', (double)driver.Contents [0, 13, 0]);
  716. Assert.Equal (' ', (double)driver.Contents [0, 14, 0]);
  717. } else if (i == 36) {
  718. Assert.Equal (driver.BlocksMeterSegment, (double)driver.Contents [0, 0, 0]);
  719. Assert.Equal (' ', (double)driver.Contents [0, 1, 0]);
  720. Assert.Equal (' ', (double)driver.Contents [0, 2, 0]);
  721. Assert.Equal (' ', (double)driver.Contents [0, 3, 0]);
  722. Assert.Equal (' ', (double)driver.Contents [0, 4, 0]);
  723. Assert.Equal (' ', (double)driver.Contents [0, 5, 0]);
  724. Assert.Equal (' ', (double)driver.Contents [0, 6, 0]);
  725. Assert.Equal (' ', (double)driver.Contents [0, 7, 0]);
  726. Assert.Equal (' ', (double)driver.Contents [0, 8, 0]);
  727. Assert.Equal (' ', (double)driver.Contents [0, 9, 0]);
  728. Assert.Equal (' ', (double)driver.Contents [0, 10, 0]);
  729. Assert.Equal (' ', (double)driver.Contents [0, 11, 0]);
  730. Assert.Equal (' ', (double)driver.Contents [0, 12, 0]);
  731. Assert.Equal (' ', (double)driver.Contents [0, 13, 0]);
  732. Assert.Equal (' ', (double)driver.Contents [0, 14, 0]);
  733. } else if (i == 37) {
  734. Assert.Equal (driver.BlocksMeterSegment, (double)driver.Contents [0, 0, 0]);
  735. Assert.Equal (driver.BlocksMeterSegment, (double)driver.Contents [0, 1, 0]);
  736. Assert.Equal (' ', (double)driver.Contents [0, 2, 0]);
  737. Assert.Equal (' ', (double)driver.Contents [0, 3, 0]);
  738. Assert.Equal (' ', (double)driver.Contents [0, 4, 0]);
  739. Assert.Equal (' ', (double)driver.Contents [0, 5, 0]);
  740. Assert.Equal (' ', (double)driver.Contents [0, 6, 0]);
  741. Assert.Equal (' ', (double)driver.Contents [0, 7, 0]);
  742. Assert.Equal (' ', (double)driver.Contents [0, 8, 0]);
  743. Assert.Equal (' ', (double)driver.Contents [0, 9, 0]);
  744. Assert.Equal (' ', (double)driver.Contents [0, 10, 0]);
  745. Assert.Equal (' ', (double)driver.Contents [0, 11, 0]);
  746. Assert.Equal (' ', (double)driver.Contents [0, 12, 0]);
  747. Assert.Equal (' ', (double)driver.Contents [0, 13, 0]);
  748. Assert.Equal (' ', (double)driver.Contents [0, 14, 0]);
  749. }
  750. }
  751. }
  752. [Fact]
  753. [AutoInitShutdown]
  754. public void Fraction_Redraw ()
  755. {
  756. var driver = ((FakeDriver)Application.Driver);
  757. var pb = new ProgressBar () {
  758. Width = 5
  759. };
  760. for (int i = 0; i <= pb.Frame.Width; i++) {
  761. pb.Fraction += 0.2F;
  762. pb.Redraw (pb.Bounds);
  763. if (i == 0) {
  764. Assert.Equal (driver.BlocksMeterSegment, (double)driver.Contents [0, 0, 0]);
  765. Assert.Equal (' ', (double)driver.Contents [0, 1, 0]);
  766. Assert.Equal (' ', (double)driver.Contents [0, 2, 0]);
  767. Assert.Equal (' ', (double)driver.Contents [0, 3, 0]);
  768. Assert.Equal (' ', (double)driver.Contents [0, 4, 0]);
  769. Assert.Equal (' ', (double)driver.Contents [0, 5, 0]);
  770. } else if (i == 1) {
  771. Assert.Equal (driver.BlocksMeterSegment, (double)driver.Contents [0, 0, 0]);
  772. Assert.Equal (driver.BlocksMeterSegment, (double)driver.Contents [0, 1, 0]);
  773. Assert.Equal (' ', (double)driver.Contents [0, 2, 0]);
  774. Assert.Equal (' ', (double)driver.Contents [0, 3, 0]);
  775. Assert.Equal (' ', (double)driver.Contents [0, 4, 0]);
  776. Assert.Equal (' ', (double)driver.Contents [0, 5, 0]);
  777. } else if (i == 2) {
  778. Assert.Equal (driver.BlocksMeterSegment, (double)driver.Contents [0, 0, 0]);
  779. Assert.Equal (driver.BlocksMeterSegment, (double)driver.Contents [0, 1, 0]);
  780. Assert.Equal (driver.BlocksMeterSegment, (double)driver.Contents [0, 2, 0]);
  781. Assert.Equal (' ', (double)driver.Contents [0, 3, 0]);
  782. Assert.Equal (' ', (double)driver.Contents [0, 4, 0]);
  783. Assert.Equal (' ', (double)driver.Contents [0, 5, 0]);
  784. } else if (i == 3) {
  785. Assert.Equal (driver.BlocksMeterSegment, (double)driver.Contents [0, 0, 0]);
  786. Assert.Equal (driver.BlocksMeterSegment, (double)driver.Contents [0, 1, 0]);
  787. Assert.Equal (driver.BlocksMeterSegment, (double)driver.Contents [0, 2, 0]);
  788. Assert.Equal (driver.BlocksMeterSegment, (double)driver.Contents [0, 3, 0]);
  789. Assert.Equal (' ', (double)driver.Contents [0, 4, 0]);
  790. Assert.Equal (' ', (double)driver.Contents [0, 5, 0]);
  791. } else if (i == 4) {
  792. Assert.Equal (driver.BlocksMeterSegment, (double)driver.Contents [0, 0, 0]);
  793. Assert.Equal (driver.BlocksMeterSegment, (double)driver.Contents [0, 1, 0]);
  794. Assert.Equal (driver.BlocksMeterSegment, (double)driver.Contents [0, 2, 0]);
  795. Assert.Equal (driver.BlocksMeterSegment, (double)driver.Contents [0, 3, 0]);
  796. Assert.Equal (driver.BlocksMeterSegment, (double)driver.Contents [0, 4, 0]);
  797. Assert.Equal (' ', (double)driver.Contents [0, 5, 0]);
  798. } else if (i == 5) {
  799. Assert.Equal (driver.BlocksMeterSegment, (double)driver.Contents [0, 0, 0]);
  800. Assert.Equal (driver.BlocksMeterSegment, (double)driver.Contents [0, 1, 0]);
  801. Assert.Equal (driver.BlocksMeterSegment, (double)driver.Contents [0, 2, 0]);
  802. Assert.Equal (driver.BlocksMeterSegment, (double)driver.Contents [0, 3, 0]);
  803. Assert.Equal (driver.BlocksMeterSegment, (double)driver.Contents [0, 4, 0]);
  804. Assert.Equal (' ', (double)driver.Contents [0, 5, 0]);
  805. }
  806. }
  807. }
  808. }
  809. }