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 TripleAtEndOfHashIsValid()
        {
            var sut      = new AdventOfCode2016.Day14.Day14("abc");
            var expected = "fff";

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

            Assert.Equal(expected, actual);
        }
Exemple #4
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 #5
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);
            }
        }