Click here to Skip to main content
15,884,353 members
Please Sign up or sign in to vote.
0.00/5 (No votes)
i have a service lyk below:
C#
public class SubjectService : ISubjectService
    {        
        private readonly ISubjectRepository subjectRepository;
        public SubjectService(ISubjectRepository subjectRepository)
        {
            this.broadSubjectAreaRepository = broadSubjectAreaRepository;
        }
        public IQueryable<Subject> GetSubjectByFilter(Expression<Func<Subject, bool>> where)
        {
            var subject = this.subjectRepository.GetMany(where);
            return subject;
        }
    }

the GetMany is defined in the repository implementation like this-
C#
public virtual IQueryable<T> GetMany(Expression<Func<T, bool>> where)
    {       
        return dbset.Where(where);
    }

i had written a unit test for the service like this-
C#
[TestMethod()]
        public void GetByFilter_ShouldReturn_ListofSubject_AfterApplyingFilters()
        {
            var subject = new Subject()
            {
                Id = 3,
                Name = "Physics",
                SubjectCode = "PHY",
                StatusId = 1
            };

            var list = CreateList();
            var mockrepository = new Mock<ISubjectRepository>();
            mockrepository.Setup(p => p.GetMany( l => l.Name.Trim().ToUpper() == subject.Name.Trim().ToUpper() && l.Id != subject.Id)).Returns(list.AsQueryable());
      
            var service = new SubjectService(mockrepository.Object); 

            var filter = service.GetSubjectByFilter( l => l.Name.Trim().ToUpper() == subject.Name.Trim().ToUpper() && l.Id != subject.Id).ToList();

            Assert.AreEqual(1,filter.Count());
        }   

        private static List<Subject> CreateList()
        {
            var list = new List<Subject>()
            {
           new Subject{Id = 1,Name ="Physics", SubjectCode ="PHY", StatusId=1},
           new Subject{Id = 2, Name ="Chemistry", SubjectCode ="CHEM", StatusId =1},
           new Subject{Id = 3, Name ="English", SubjectCode ="ENG", StatusId=0}                
            };
            return list;
        }

can anyone verify the test let me know if whether i am going wrong anywhere???
Posted
Updated 6-Mar-13 17:44pm
v4

This content, along with any associated source code and files, is licensed under The Code Project Open License (CPOL)



CodeProject, 20 Bay Street, 11th Floor Toronto, Ontario, Canada M5J 2N8 +1 (416) 849-8900