public void IfAnswer_Test(ulong input, int diskNumber, bool expected)
        {
            GenaPlayingHanoi._diskNumber = diskNumber;
            var result = GenaPlayingHanoi.IfAnswer(input);

            Assert.AreEqual(expected, result);
        }
        public void CreateBarsTest(int srcBar, int disk, int destBar, ulong input, ulong expected)
        {
            var result = GenaPlayingHanoi.MoveDisk(srcBar, disk, destBar, input);
            var ss     = Convert.ToString((long)result, 2);

            Assert.AreEqual(expected, result);
        }
        public void CreateBarsTest(string inputString, ulong expected)
        {
            var input  = inputString.Split(',').Select(x => int.Parse(x)).ToArray();
            var result = GenaPlayingHanoi.CreateBars(input);
            var ss     = Convert.ToString((long)result, 2);

            Assert.AreEqual(expected, result);
        }
        public void MainFlow(string inputString, string expectedString)
        {
            var input = new StringReader(inputString);
            int N     = Convert.ToInt32(input.ReadLine());

            int[] a = Array.ConvertAll(input.ReadLine().Split(' '), aTemp => Convert.ToInt32(aTemp));

            var result = GenaPlayingHanoi.Do(a);

            Console.WriteLine(result);
            Assert.AreEqual(int.Parse(expectedString), result);
        }
        public void ShouldMove_Tests(int srcBar, ulong input, int destBar, bool expected)
        {
            var result = GenaPlayingHanoi.ShouldMove(srcBar, destBar, input);

            Assert.AreEqual(expected, result);
        }