示例#1
0
        public void ThrowWhenEntityisNull()
        {
            //Arrange
            var mockDbSet = new Mock<IDbSet<IDeletableEntity>>();
            var mockedContext = new Mock<INoleggioDbContext>();
            mockedContext.Setup(x => x.Set<IDeletableEntity>()).Returns(mockDbSet.Object);
            var sut = new GenericEfRepository<IDeletableEntity>(mockedContext.Object);


            //Act&Assert
            Assert.Throws<ArgumentNullException>(() => sut.Add(null));
        }
示例#2
0
        public void Initilize()
        {
            //Arrange
            var mockDbSet = new Mock <IDbSet <IDeletableEntity> >();
            var context   = new Mock <INoleggioDbContext>();

            context.Setup(x => x.Set <IDeletableEntity>()).Returns(mockDbSet.Object);

            //Act
            var repository = new GenericEfRepository <IDeletableEntity>(context.Object);

            //Assert
            Assert.IsInstanceOf <IGenericEfRepository <IDeletableEntity> >(repository);
        }
示例#3
0
        public void ReturnDbSet()
        {
            //Arrange
            var mockDbSet     = new Mock <IDbSet <IDeletableEntity> >();
            var mockedContext = new Mock <INoleggioDbContext>();

            mockedContext.Setup(x => x.Set <IDeletableEntity>()).Returns(mockDbSet.Object);
            var sut = new GenericEfRepository <IDeletableEntity>(mockedContext.Object);

            //Act
            var actual = sut.GetAll();

            //Assert
            Assert.AreEqual(mockDbSet.Object, actual);
        }
示例#4
0
        public void CallOnce_DbSet_Add_WithSameArguments()
        {
            //Arrange
            var entity    = new Mock <IDeletableEntity>();
            var mockDbSet = new Mock <IDbSet <IDeletableEntity> >();

            mockDbSet.Setup(x => x.Add(entity.Object)).Verifiable();
            var context = new Mock <INoleggioDbContext>();

            context.Setup(x => x.Set <IDeletableEntity>()).Returns(mockDbSet.Object);
            var sut = new GenericEfRepository <IDeletableEntity>(context.Object);

            //Act
            sut.Add(entity.Object);

            //Assert
            mockDbSet.Verify(x => x.Add(entity.Object), Times.Once);
        }
示例#5
0
        public void GetByIdCallsDbStOncesWithSameArguments()
        {
            //Arrange
            var mockDbSet = new Mock <IDbSet <IDeletableEntity> >();
            var entity    = new Mock <IDeletableEntity>();

            mockDbSet.Setup(x => x.Add(entity.Object)).Verifiable();
            var context = new Mock <INoleggioDbContext>();

            context.Setup(x => x.Set <IDeletableEntity>()).Returns(mockDbSet.Object);
            var repository = new GenericEfRepository <IDeletableEntity>(context.Object);

            //Act
            repository.GetById(1);

            //Assert
            mockDbSet.Verify(x => x.Find(It.Is <int>(y => y == 1)), Times.Once);
        }
示例#6
0
        public void GetByIdObjectCallsDbStOnces()
        {
            //Arrange
            var mockDbSet = new Mock <IDbSet <IDeletableEntity> >();
            var entity    = new Mock <IDeletableEntity>();

            mockDbSet.Setup(x => x.Add(entity.Object)).Verifiable();
            var context = new Mock <INoleggioDbContext>();

            context.Setup(x => x.Set <IDeletableEntity>()).Returns(mockDbSet.Object);
            var repository = new GenericEfRepository <IDeletableEntity>(context.Object);
            var obj        = new Object();

            //Act
            repository.GetById(obj);

            //Assert
            mockDbSet.Verify(x => x.Find(obj), Times.Once);
        }
示例#7
0
 public EfUnitOfWork(DbContext context)
 {
     _context = context;
     Persons  = new GenericEfRepository <Person>(_context);
     Phones   = new GenericEfRepository <Phone>(_context);
 }