public void MoveWorks()
        {
            var unscrambler = new Unscrambler();

            Assert.Equal("bcdea", unscrambler.Unscramble("bdeac", new[] { SampleOps.Move1To4 }));
            Assert.Equal("bdeac", unscrambler.Unscramble("abdec", new[] { SampleOps.Move3To0 }));
        }
        public void RotateWorks()
        {
            var unscrambler = new Unscrambler();

            Assert.Equal("abcde", unscrambler.Unscramble("bcdea", new[] { SampleOps.Rotate1Left }));
            Assert.Equal("abcde", unscrambler.Unscramble("cdeab", new[] { SampleOps.Rotate8Right }));
        }
        public void RotateByLetterWorks()
        {
            var unscrambler = new Unscrambler();

            Assert.Equal("abcdefgh", unscrambler.Unscramble("ghabcdef", new[] { SampleOps.RotateByB }));
            Assert.Equal("abcdefgh", unscrambler.Unscramble("efghabcd", new[] { SampleOps.RotateByD }));
            Assert.Equal("abcdefgh", unscrambler.Unscramble("habcdefg", new[] { SampleOps.RotateByH }));
        }
Exemple #4
0
        public string Solve(string[] input)
        {
            var parser      = new OperationParser();
            var steps       = input.Select(line => parser.Parse(line));
            var unscrambler = new Unscrambler();

            return(unscrambler.Unscramble(Password, steps));
        }
        public void SwapPositionWorks()
        {
            var unscrambler = new Unscrambler();

            Assert.Equal("abcde", unscrambler.Unscramble("ebcda", new[] { SampleOps.Swap4With0 }));
        }
        public void ScramblingWithSequenceWorks()
        {
            var unscrambler = new Unscrambler();

            Assert.Equal("abcde", unscrambler.Unscramble("abdec", SampleOps.Sequence.Where(op => !(op is RotateByLetter))));
        }
        public void ReverseWorks()
        {
            var unscrambler = new Unscrambler();

            Assert.Equal("edcba", unscrambler.Unscramble("abcde", new[] { SampleOps.Reverse0Through4 }));
        }
        public void SwapLetterWorks()
        {
            var unscrambler = new Unscrambler();

            Assert.Equal("ebcda", unscrambler.Unscramble("edcba", new[] { SampleOps.SwapDWithB }));
        }