public void TestEveryOperationHasNeededMaterialAtStart(string testConfigurationFileName
                                                               )
        {
            InitTestScenario(testConfigurationFileName);

            IZppSimulator zppSimulator = new ZppSimulator.impl.ZppSimulator();

            // TODO: set to true once dbPersist() has an acceptable time
            zppSimulator.StartTestCycle(false);

            // TODO: replace this by ReloadTransactionData() once shouldPersist is enabled
            IDbTransactionData dbTransactionData =
                ZppConfiguration.CacheManager.GetDbTransactionData();
            IAggregator aggregator = ZppConfiguration.CacheManager.GetAggregator();

            foreach (var operation in dbTransactionData.ProductionOrderOperationGetAll())
            {
                Demands productionOrderBoms = aggregator.GetProductionOrderBomsBy(operation);
                foreach (var productionOrderBom in productionOrderBoms)
                {
                    foreach (var stockExchangeProvider in aggregator.GetAllChildProvidersOf(
                                 productionOrderBom))
                    {
                        Assert.True(operation.GetStartTime() >=
                                    stockExchangeProvider.GetEndTimeBackward().GetValue());
                    }
                }
            }
        }