Exemple #1
0
        public void SecondTripleIsValidKeyStretched()
        {
            var sut  = new AdventOfCode2016.Day14.Day14("abc", 2016);
            var hash = sut.GetHash(10);

            Assert.Equal("eee", sut.GetTriplet(hash));
            Assert.True(sut.IsValidKey(10));
        }
Exemple #2
0
        public void FirstTripleIsNotValidKeyStretched()
        {
            var sut  = new AdventOfCode2016.Day14.Day14("abc", 2016);
            var hash = sut.GetHash(5);

            Assert.Equal("222", sut.GetTriplet(hash));
            Assert.False(sut.IsValidKey(5));
        }
Exemple #3
0
        public void HashIsValidKey(int index, bool expected)
        {
            var sut = new AdventOfCode2016.Day14.Day14("abc");

            var actual = sut.IsValidKey(index);

            Assert.Equal(expected, actual);
        }
Exemple #4
0
        public void TripleAtEndOfHashIsValid()
        {
            var sut      = new AdventOfCode2016.Day14.Day14("abc");
            var expected = "fff";

            var actual = sut.GetTriplet("22df6e9378c3c53abed6d3508b6285fff");

            Assert.Equal(expected, actual);
        }
Exemple #5
0
        public void StretchedHashIsCorrect()
        {
            var sut      = new AdventOfCode2016.Day14.Day14("abc", 2016);
            var expected = "a107ff634856bb300138cac6568c0f24";

            var actual = sut.GetHash(0);

            Assert.Equal(expected, actual);
        }
Exemple #6
0
        public void HashContainsTriplets()
        {
            var sut  = new AdventOfCode2016.Day14.Day14("abc");
            var hash = sut.GetHash(18);

            var actual = sut.GetTriplet(hash);

            Assert.NotEqual(string.Empty, actual);
        }
Exemple #7
0
        public void FirstHashesContainNoTriplets()
        {
            var sut = new AdventOfCode2016.Day14.Day14("abc");

            for (int i = 0; i < 18; i++)
            {
                var hash     = sut.GetHash(i);
                var expected = string.Empty;
                var actual   = sut.GetTriplet(hash);

                Assert.Equal(expected, actual);
            }
        }
Exemple #8
0
        private static void Day14()
        {
            var d14 = new Day14.Day14("jlmsuwbz", 2016);

            d14.CollectKeys();
        }