internal static ProcessContext CreateProcessContext(
            string binFolder = null, 
            IDatapoolFactory datapoolFactory = null, 
            IDatapoolManager datapoolManager = null, 
            IGrinderContext grinderContext = null)
        {
            var processContext = new ProcessContext
            {
                BinFolder = binFolder,
                DatapoolFactory = datapoolFactory ?? new Mock<IDatapoolFactory>().Object,
                DatapoolManager = datapoolManager ?? new Mock<IDatapoolManager>().Object,
                GrinderContext = grinderContext ?? CreateContextMock().Object
            };

            processContext.Freeze();
            return processContext;
        }
        internal static ProcessContext CreateProcessContext(
            string binFolder = null,
            IDatapoolFactory datapoolFactory = null,
            IDatapoolManager datapoolManager = null,
            IGrinderContext grinderContext   = null)
        {
            var processContext = new ProcessContext
            {
                BinFolder       = binFolder,
                DatapoolFactory = datapoolFactory ?? new Mock <IDatapoolFactory>().Object,
                DatapoolManager = datapoolManager ?? new Mock <IDatapoolManager>().Object,
                GrinderContext  = grinderContext ?? CreateContextMock().Object
            };

            processContext.Freeze();
            return(processContext);
        }