Ejemplo n.º 1
0
            public void ForSingleNounGenerator_OneChainIsGenerated()
            {
                var adjectiveGenerator = Substitute.For <IRandomWordGenerator>();

                adjectiveGenerator.WordLengths.Returns(Array.Empty <int>());

                var nounGenerator = Substitute.For <IRandomWordGenerator>();

                nounGenerator.WordLengths.Returns(new[] { 1 });

                var availableLengths = PasswordGenerator.CalculateAvailableLengths(adjectiveGenerator, nounGenerator);

                availableLengths.Count.Should().Be(1);
                availableLengths[1].Count.Should().Be(1);
            }
Ejemplo n.º 2
0
            public void ForSingleNounGeneratorAndSingleAdjectiveGenerator_TwoChainsAreGenerated()
            {
                var adjectiveGenerator = Substitute.For <IRandomWordGenerator>();

                adjectiveGenerator.WordLengths.Returns(new[] { 1 });

                var nounGenerator = Substitute.For <IRandomWordGenerator>();

                nounGenerator.WordLengths.Returns(new[] { 1 });

                var availableLengths = PasswordGenerator.CalculateAvailableLengths(adjectiveGenerator, nounGenerator);

                availableLengths.Count.Should().Be(2);
                availableLengths[1].Count.Should().Be(1);
                availableLengths[2].Count.Should().Be(1);
            }
Ejemplo n.º 3
0
            public void ForNounGeneratorWithThreeLengths_ThreeChainsAreGenerated()
            {
                var adjectiveGenerator = Substitute.For <IRandomWordGenerator>();

                adjectiveGenerator.WordLengths.Returns(Array.Empty <int>());

                var nounGenerator = Substitute.For <IRandomWordGenerator>();

                nounGenerator.WordLengths.Returns(new[] { 1, 5, 15 });

                var availableLengths = PasswordGenerator.CalculateAvailableLengths(adjectiveGenerator, nounGenerator);

                availableLengths.Count.Should().Be(3);
                availableLengths[1].Count.Should().Be(1);
                availableLengths[5].Count.Should().Be(1);
                availableLengths[15].Count.Should().Be(1);
            }
Ejemplo n.º 4
0
            public void ForNounGeneratorAndAdjectiveGenerator_CrossJoinChainsAreGenerated()
            {
                var adjectiveGenerator = Substitute.For <IRandomWordGenerator>();

                adjectiveGenerator.WordLengths.Returns(new[] { 1, 2, 3 });

                var nounGenerator = Substitute.For <IRandomWordGenerator>();

                nounGenerator.WordLengths.Returns(new[] { 1, 2, 3 });

                var availableLengths = PasswordGenerator.CalculateAvailableLengths(adjectiveGenerator, nounGenerator);

                availableLengths.Keys.Should().BeEquivalentTo(new[] { 1, 2, 3, 4, 5, 6 });
                availableLengths[1].Count.Should().Be(1);
                availableLengths[2].Count.Should().Be(2);
                availableLengths[3].Count.Should().Be(3);
                availableLengths[4].Count.Should().Be(3);
                availableLengths[5].Count.Should().Be(2);
                availableLengths[6].Count.Should().Be(1);
            }