Ejemplo n.º 1
0
            public void ShouldGetTheHiValueFromRepository()
            {
                // Arrange
                var mock = new Mock <IHiLoRepository>();

                mock.Setup(m => m.GetNextHi()).Returns(1);
                var generator = new HiLoGenerator(mock.Object, 10);

                // Act
                generator.GetKey();
                // Assert
                mock.Verify(m => m.GetNextHi(), Times.Once());
            }
Ejemplo n.º 2
0
            public void ShouldGetTheFirstKeyFromTheHiValue()
            {
                // Arrange
                var mock = new Mock <IHiLoRepository>();

                mock.Setup(m => m.GetNextHi()).Returns(1);
                var generator = new HiLoGenerator(mock.Object, 10);
                // Act
                long key = generator.GetKey();

                // Assert
                Assert.Equal(10, key);
            }
Ejemplo n.º 3
0
            public void ShouldGetTheHiValueFromRepositoryTwiceFor11KeyGenerationsWith10AsMaxLo()
            {
                // Arrange
                var mock = new Mock <IHiLoRepository>();

                mock.Setup(m => m.GetNextHi()).Returns(1);
                var generator = new HiLoGenerator(mock.Object, 10);

                // Act
                for (int i = 1; i <= 11; i++)
                {
                    generator.GetKey();
                }
                // Assert
                mock.Verify(m => m.GetNextHi(), Times.Exactly(2));
            }
Ejemplo n.º 4
0
            public void ShouldFailCreatingInstanceWith0AsMaxLo()
            {
                // Arrange
                var mock = new Mock <IHiLoRepository>();

                try
                {
                    // Act
                    var generator = new HiLoGenerator(mock.Object, 0);
                    // Assert
                    throw new XunitException();
                }
                catch (ArgumentException)
                {
                }
            }
Ejemplo n.º 5
0
            public void ShouldFailCreatingInstanceWithNullAsRepository()
            {
                // Arrange
                IHiLoRepository repository = null;

                try
                {
                    // Act
                    var generator = new HiLoGenerator(repository, 0);
                    // Assert
                    throw new XunitException();
                }
                catch (ArgumentException)
                {
                }
            }
Ejemplo n.º 6
0
            public void ShouldGetDifferentKeysForEachCall()
            {
                // Arrange
                List <long> keys = new List <long>();
                int         hi   = 1;
                var         mock = new Mock <IHiLoRepository>();

                mock.Setup(m => m.GetNextHi()).Returns(() => hi++);
                var generator = new HiLoGenerator(mock.Object, 10);

                // Act
                for (int i = 1; i <= 30; i++)
                {
                    long key = generator.GetKey();
                    // Assert
                    Assert.DoesNotContain(key, keys);
                    keys.Add(key);
                }
            }
Ejemplo n.º 7
0
            public void ShouldGetThe11thKeyFromTheHiValue()
            {
                // Arrange
                int hi   = 1;
                var mock = new Mock <IHiLoRepository>();

                mock.Setup(m => m.GetNextHi()).Returns(() => hi++);
                var generator = new HiLoGenerator(mock.Object, 10);

                // Act
                for (int i = 1; i <= 10; i++)
                {
                    generator.GetKey();
                }
                long key = generator.GetKey();

                // Assert
                Assert.Equal(20, key);
            }