예제 #1
0
        public void DAL_Helper_Test_Adding_Method_Adds_To_DB()
        {
            var mock = new Mock <IDAL>();

            mock.Setup(x => x.Fetch <RecordedMethod>(It.IsAny <Func <RecordedMethod, bool> >())).Returns(new List <RecordedMethod>());
            var helper = new RecordedMethodHelper(mock.Object);

            helper.AddRecordedMethod(new RecordedMethod(Guid.NewGuid()));
            mock.Verify(x => x.Create <RecordedMethod>(It.IsAny <RecordedMethod>()), Times.Once);
        }
예제 #2
0
        public void DAL_Helper_Add_Method_Commits_Changes()
        {
            var mock    = new Mock <IDAL>();
            var queryId = Guid.NewGuid();
            var methods = new List <RecordedMethod>();

            mock.Setup(x => x.Fetch <RecordedMethod>(It.IsAny <Func <RecordedMethod, bool> >()))
            .Returns(methods);

            var helper = new RecordedMethodHelper(mock.Object);

            helper.AddRecordedMethod(new RecordedMethod(queryId));

            mock.Verify(x => x.CommitChanges(), Times.AtLeastOnce);
        }
예제 #3
0
        public void DAL_Helper_Test_No_Id_Found_Returns_Null()
        {
            var mock    = new Mock <IDAL>();
            var queryId = Guid.NewGuid();
            var methods = new List <RecordedMethod>()
            {
                new RecordedMethod(Guid.NewGuid()), new RecordedMethod(Guid.NewGuid())
            };

            mock.Setup(x => x.Fetch <RecordedMethod>(It.IsAny <Func <RecordedMethod, bool> >()))
            .Returns(new List <RecordedMethod>());

            var helper = new RecordedMethodHelper(mock.Object);
            var res    = helper.GetMethodWithId(queryId);

            Assert.IsTrue(res == null);
        }
예제 #4
0
        public void DAL_Helper_Test_All_Results_Are_Returned()
        {
            var mock    = new Mock <IDAL>();
            var methods = new List <RecordedMethod>()
            {
                new RecordedMethod(Guid.NewGuid()), new RecordedMethod(Guid.NewGuid())
            };

            mock.Setup(x => x.Fetch <RecordedMethod>(It.IsAny <Func <RecordedMethod, bool> >()))
            .Callback((Func <RecordedMethod, bool> func) =>
                      methods = methods.Where(func).ToList())
            .Returns(methods);

            var helper = new RecordedMethodHelper(mock.Object);
            var res    = helper.GetAllRecordedMethods();

            Assert.IsTrue(res.Count == 2);
        }
예제 #5
0
        public void DAL_Helper_Test_Specific_ID_Is_Returned()
        {
            var mock    = new Mock <IDAL>();
            var queryId = Guid.NewGuid();
            var methods = new List <RecordedMethod>()
            {
                new RecordedMethod(queryId), new RecordedMethod(Guid.NewGuid())
            };

            mock.Setup(x => x.Fetch <RecordedMethod>(It.IsAny <Func <RecordedMethod, bool> >()))
            .Callback((Func <RecordedMethod, bool> func) =>
                      methods = methods.Where(func).ToList())
            .Returns(methods);

            var helper = new RecordedMethodHelper(mock.Object);
            var res    = helper.GetMethodWithId(queryId);

            Assert.IsTrue(res.Identifier == queryId);
        }
예제 #6
0
        public void DAL_Helper_Test_No_Duplicate_Id()
        {
            var mock    = new Mock <IDAL>();
            var queryId = Guid.NewGuid();
            var methods = new List <RecordedMethod>()
            {
                new RecordedMethod(queryId), new RecordedMethod(Guid.NewGuid())
            };

            mock.Setup(x => x.Fetch <RecordedMethod>(It.IsAny <Func <RecordedMethod, bool> >()))
            .Callback((Func <RecordedMethod, bool> func) =>
                      methods = methods.Where(func).ToList())
            .Returns(methods);

            var helper = new RecordedMethodHelper(mock.Object);

            helper.AddRecordedMethod(new RecordedMethod(queryId));

            mock.Verify(x => x.Remove <RecordedMethod>(It.IsAny <RecordedMethod>()), Times.Once);
        }