internal ProcessedResourceGroupInfo ProcessResource(CompressionType compressionType, ResourceElementGroup resourceElementGroup, ResourceType resourceType)
        {
            ProcessedResourceGroupInfo resourceGroupInfo = new ProcessedResourceGroupInfo();
            IList<ResourceReadInfo> resources = ReadResources(resourceType, resourceElementGroup.Resources);

            string combinedContent = MinifyAndCombineResources(resourceElementGroup, resourceType, resources);
            resourceGroupInfo.Hash = m_ResourceHasher.HashContent(combinedContent);
            resourceGroupInfo.DependentFiles = CalculateDependentFiles(resources);
            resourceGroupInfo.LastModifyDate = CalculateLastModifyDate(resources);
            resourceGroupInfo.Content = CompressContent(compressionType, combinedContent);
            return resourceGroupInfo;
        }
        private static Mock<HttpContextBase> HandleResource(string resourceGroupName, string fileName, ResourceType resourceType, bool compress, HttpRequestBase httpRequest, HttpResponseBase httpResponseStub, ProcessedResourceGroupInfo processedResourceGroupInfo, HttpResponseCacher httpResponseCacher, HttpResponseCompressor httpResponseCompressor)
        {
            ResourceElementGroup resourceElementGroup = new ResourceElementGroup
                {
                    Name = resourceGroupName,
                    ResourceType = resourceType,
                    Compress = compress,
                    Resources = new ResourceElementCollection {new ResourceElement {FileName = fileName}}
                };
            Mock<IResourceConfigurationProvider> webResourceConfigurationMock = CreateWebResourceConfigurationMock(resourceElementGroup);
            Mock<HttpContextBase> httpContextBaseMock = HttpContextMockHelper.CreateHttpContext(httpResponseStub, httpRequest);

            Mock<IResourceProcessor> resourceProcessorMock = new Mock<IResourceProcessor>();
            resourceProcessorMock.Setup(x => x.ProcessResource(resourceElementGroup, It.IsAny<CompressionType>()))
                                 .Returns(() => processedResourceGroupInfo);

            ResourceHandler resourceHandler = new ResourceHandler(resourceProcessorMock.Object, webResourceConfigurationMock.Object, httpResponseCacher, httpResponseCompressor);
            resourceHandler.HandleResource(httpContextBaseMock.Object, resourceType, resourceGroupName);
            return httpContextBaseMock;
        }