protected override (Section, IStoreSection) CreateTestObjects()
        {
            var commonFixture       = new CommonFixture();
            var storeSectionFixture = new StoreSectionFixture(commonFixture);

            var destination = storeSectionFixture.Create(new StoreSectionDefinition());
            var source      = GetSource(destination, commonFixture);

            return(source, destination);
        }
            public IStore CreateStore(IShoppingList shoppingList, SectionId sectionId)
            {
                var sectionDef = StoreSectionDefinition.FromId(sectionId);
                var section    = StoreSectionFixture.Create(sectionDef);

                var storeDef = new StoreDefinition
                {
                    Id       = shoppingList.StoreId,
                    Sections = section.ToMonoList()
                };

                return(StoreFixture.CreateValid(storeDef));
            }
            public IEnumerable <IStore> CreateValidStores(IEnumerable <IStoreItemAvailability> availabilities)
            {
                var availabilitiesList = availabilities.ToList();

                foreach (var availability in availabilitiesList)
                {
                    var section = StoreSectionFixture.Create(StoreSectionDefinition.FromId(availability.DefaultSectionId));

                    var def = new StoreDefinition
                    {
                        Id       = availability.StoreId,
                        Sections = section.ToMonoList()
                    };
                    yield return(StoreFixture.CreateValid(def));
                }
            }