public void AllEventsInsideMvcJQDTAttributeShouldBeCalledInCorrectOrder()
        {
            var serviceLocatorMock  = this.GetServiceLocatorMock();
            var executeFunctionMock = this.GetExecuteFunctionProviderMock(serviceLocatorMock);
            var contextMock         = this.GetHttpContextMock();

            var calledEvents = new List <string>();
            var testAttr     = new JQDataTableTestAttribute(serviceLocatorMock.Object, executeFunctionMock.Object, ref calledEvents);

            testAttr.OnActionExecuted(contextMock.Object);

            var expectedEventsCalls = new List <string>
            {
                nameof(JQDataTableAttribute.OnDataProcessing),
                nameof(JQDataTableAttribute.OnSearchDataProcessing),
                nameof(JQDataTableAttribute.OnSearchDataProcessed),
                nameof(JQDataTableAttribute.OnCustomFiltersDataProcessing),
                nameof(JQDataTableAttribute.OnCustomFiltersDataProcessed),
                nameof(JQDataTableAttribute.OnColumnsFilterDataProcessing),
                nameof(JQDataTableAttribute.OnColumnsFilterDataProcessed),
                nameof(JQDataTableAttribute.OnSortDataProcessing),
                nameof(JQDataTableAttribute.OnSortDataProcessed),
                nameof(JQDataTableAttribute.OnPagingDataProcessing),
                nameof(JQDataTableAttribute.OnPagingDataProcessed),
                nameof(JQDataTableAttribute.OnDataProcessed),
            };

            Assert.IsTrue(expectedEventsCalls.SequenceEqual(calledEvents));
        }
        public void AllEventsInsideMvcJQDTAttributeShouldBeRaized(string eventName)
        {
            var serviceLocatorMock  = this.GetServiceLocatorMock();
            var executeFunctionMock = this.GetExecuteFunctionProviderMock(serviceLocatorMock);
            var contextMock         = this.GetHttpContextMock();

            var calledEvents = new List <string>();
            var testAttr     = new JQDataTableTestAttribute(serviceLocatorMock.Object, executeFunctionMock.Object, ref calledEvents);

            testAttr.OnActionExecuted(contextMock.Object);

            Assert.IsTrue(calledEvents.Contains(eventName));
        }