public void LoadedFilesInfoShouldCallReadersMethod()
        {
            var reader     = Substitute.For <IOrdersReader>();
            var inMemoryDb = new OrdersInMemoryDb(reader);

            inMemoryDb.LoadedFilesInfo();

            reader.Received().GetLoadedFilesInfo();
        }
        public async Task LoadOrdersAsyncShouldLoadAllOrdersFromOrdersReader()
        {
            var data   = GenerateData();
            var reader = Substitute.For <IOrdersReader>();

            reader.ReadOrdersFromFiles(Arg.Any <IList <string> >()).ReturnsForAnyArgs(data);
            var inMemoryDb = new OrdersInMemoryDb(reader);

            await inMemoryDb.LoadOrdersAsync(new List <string> {
                "path1", "path2"
            });

            Assert.Multiple(() =>
            {
                Assert.That(inMemoryDb.FlatOrders.Count, Is.EqualTo(2));
                Assert.That(inMemoryDb.InvalidOrders.Count, Is.EqualTo(1));
            });
        }