static void Main(string[] args) { Console.WriteLine("Please select the choice : [1-2]"); Console.WriteLine("1.InputText"); Console.WriteLine("2.WaterBlock"); var choice = Console.ReadLine(); switch (Int32.Parse(choice)) { case 1: Console.WriteLine("Please input text."); var inputText = Console.ReadLine(); var countNumber = InputText.TextCalculator(inputText, true, true); Console.WriteLine("Count Number : " + countNumber); break; case 2: var regex = new Regex(@"[\d]"); Console.WriteLine("Please input number."); var blocks = new List <int>(); do { var input = Console.ReadLine(); blocks.Add(regex.IsMatch(input) == false ? 0 : Int32.Parse(input)); } while(blocks.Count < 5); var countWater = WaterBlock.WaterBlockCalculator(blocks.ToArray(), true); Console.WriteLine("Water in block : " + countWater); break; default: Console.WriteLine("Please input [1-2]"); break; } }
public void WaterBlockTestNoFloor() { int[] blocks0 = { 1, 2, 3, 4, 5, 6, 5, 4, 3, 2, 1 }; Assert.Equal(0, WaterBlock.WaterBlockCalculator(blocks0, false)); int[] blocks1 = { 1, 0, 3, 1, 1, 0, 2, 1, 2, 0, 1 }; Assert.Equal(1, WaterBlock.WaterBlockCalculator(blocks1, false)); int[] blocks2 = { 1, 0, 3, 1, 1, 0, 2, 1, 2, 1, 2 }; Assert.Equal(2, WaterBlock.WaterBlockCalculator(blocks2, false)); int[] blocks3 = { 2, 1, 3, 1, 1, 0, 2, 1, 2, 1, 1 }; Assert.Equal(2, WaterBlock.WaterBlockCalculator(blocks3, false)); int[] blocks4 = { 0, 1, 3, 1, 1, 0, 2, 1, 2, 1, 0 }; Assert.Equal(1, WaterBlock.WaterBlockCalculator(blocks4, false)); int[] blocks6 = { 1, 0, 3, 4, 5, 0, 5, 4, 3, 0, 1 }; Assert.Equal(0, WaterBlock.WaterBlockCalculator(blocks6, false)); }
public void WaterBlockTestHasFloor() { int[] blocks = { 1, 0, 3, 1, 1, 0, 2, 1, 2, 0, 1 }; Assert.Equal(7, WaterBlock.WaterBlockCalculator(blocks, true)); }