Exemplo n.º 1
0
        public void Day16_CheckTransform()
        {
            string state0 = "abcdefghijklmnop";
            var    rows   = DataTools.ReadAllLines(pathdata);
            var    cmds0  = rows[0].Split(new char[] { ',' });

            List <Command> cmds = new List <Command>();

            foreach (var cmd0 in cmds0)
            {
                cmds.Add(Command.CreateCmd(cmd0));
            }
            var chars0 = state0.ToCharArray();
            var chars1 = state0.ToCharArray();

            foreach (var cmd in cmds)
            {
                chars1 = sut.ProcessCmd(chars1, 16, cmd);
            }
            string state1 = string.Join(string.Empty, chars1);

            Assert.AreEqual("jkmflcgpdbonihea", state1);

            char[] charsn = new char[16];
            chars0.CopyTo(charsn, 0);

            charsn = sut.TransformX(chars0, chars1, charsn, 16);
            state1 = string.Join(string.Empty, charsn);
            Assert.AreEqual("jkmflcgpdbonihea", state1);
        }