예제 #1
0
        public void Add_ShouldAddConstruction()
        {
            // Arrange
            var context = GetContext();
            var repo    = new SqlConstructionElementRepo(context);

            int constructionId      = _rnd.Next(1, _specifications.Count());
            int profileId           = _rnd.Next(1, _profiles.Count());
            int steelId             = _rnd.Next(1, _steel.Count());
            var constructionElement = new ConstructionElement
            {
                Construction = _constructions.SingleOrDefault(
                    v => v.Id == constructionId),
                Profile = _profiles.SingleOrDefault(
                    v => v.Id == profileId),
                Steel = _steel.SingleOrDefault(
                    v => v.Id == steelId),
                Length = 1.0f,
            };

            // Act
            repo.Add(constructionElement);

            // Assert
            Assert.NotNull(repo.GetById(constructionElement.Id));

            context.Database.EnsureDeleted();
            context.Dispose();
        }
예제 #2
0
        public void GetById_ShouldReturnNull_WhenWrongId()
        {
            // Arrange
            var context = GetContext();
            var repo    = new SqlConstructionElementRepo(context);

            // Act
            var constructionElement = repo.GetById(999);

            // Assert
            Assert.Null(constructionElement);

            context.Database.EnsureDeleted();
            context.Dispose();
        }
예제 #3
0
        public void GetAllByConstructionId_ShouldReturnEmptyArray_WhenWrongConstructionId()
        {
            // Arrange
            var context = GetContext();
            var repo    = new SqlConstructionElementRepo(context);

            // Act
            var constructionElements = repo.GetAllByConstructionId(999);

            // Assert
            Assert.Empty(constructionElements);

            context.Database.EnsureDeleted();
            context.Dispose();
        }
예제 #4
0
        public void GetById_ShouldReturnConstructionElement()
        {
            // Arrange
            var context = GetContext();
            var repo    = new SqlConstructionElementRepo(context);

            int id = _rnd.Next(1, _constructionElements.Count());

            // Act
            var constructionElement = repo.GetById(id);

            // Assert
            Assert.Equal(_constructionElements.SingleOrDefault(v => v.Id == id), constructionElement);

            context.Database.EnsureDeleted();
            context.Dispose();
        }
예제 #5
0
        public void GetAllByConstructionId_ShouldReturnConstructions()
        {
            // Arrange
            var context = GetContext();
            var repo    = new SqlConstructionElementRepo(context);

            var constructionId = _rnd.Next(1, _maxConstructionId);

            // Act
            var constructionElements = repo.GetAllByConstructionId(constructionId);

            // Assert
            Assert.Equal(_constructionElements.Where(
                             v => v.Construction.Id == constructionId), constructionElements);

            context.Database.EnsureDeleted();
            context.Dispose();
        }
예제 #6
0
        public void Delete_ShouldDeleteConstruction()
        {
            // Arrange
            var context = GetContext();
            var repo    = new SqlConstructionElementRepo(context);

            int id = _rnd.Next(1, _constructionElements.Count());
            var constructionElement = _constructionElements.FirstOrDefault(
                v => v.Id == id);

            // Act
            repo.Delete(constructionElement);

            // Assert
            Assert.Null(repo.GetById(id));

            context.Database.EnsureDeleted();
            context.Dispose();
        }
예제 #7
0
        public void Update_ShouldUpdateConstruction()
        {
            // Arrange
            var context = GetContext(true);
            var repo    = new SqlConstructionElementRepo(context);

            int id           = _rnd.Next(1, _updateConstructionElements.Count());
            var construction = _updateConstructionElements.FirstOrDefault(v => v.Id == id);

            construction.Length = 9.0f;

            // Act
            repo.Update(construction);

            // Assert
            Assert.Equal(construction.Length, repo.GetById(id).Length);

            context.Database.EnsureDeleted();
            context.Dispose();
        }