public void DrawPyramid_SumLengthOf_PyramidAndAirBlocks_ShouldRemainConstant() { MockConsoleMethods console = new MockConsoleMethods(); PyramidHelper pyramid = new PyramidHelper(console); pyramid.DrawPyramid(5); string[] floorsArray = Utility.SplitThisBy(console.writeLineString, "\n"); int expected = floorsArray[0].Length; for (int i = 1; i < floorsArray.Length; i++) { int actual = floorsArray[i].Length; Assert.Equal(expected, actual); } }
public void DrawPyramid_ShouldDraw_HashtagsToTheRightOfSpaces() { MockConsoleMethods console = new MockConsoleMethods(); PyramidHelper pyramid = new PyramidHelper(console); pyramid.DrawPyramid(8); string[] floorsArray = Utility.SplitThisBy(console.writeLineString, "\n"); for (int i = 1; i < floorsArray.Length; i++) { int indexHash = floorsArray[i].IndexOf('#'); string left = floorsArray[i].Substring(0, indexHash); string right = floorsArray[i].Substring(indexHash); foreach (char c in left) { Assert.Equal(' ', c); } //every symbol has to be space foreach (char c in right) { Assert.Equal('#', c); } //every symbol has to be hashtag } }