private void SetupMeals()
 {
     var meal = new Meal();
     meal.SetOwner(factories);
     meal.Id = Guid.NewGuid();
     var mealItem = new MealItem();
     mealItem.SetOwner(factories);
     mealItem.Value = 100;
     meal.InitializeItems(new List<MealItem> { mealItem });
     factories.Meals.Returns(new List<Meal> { meal });
     factories.CreateMeal().Returns(_ => { factories.Meals.Add(meal); return meal; });
 }
 public void InvalidatesProductNameAfterAllChangesAreDoneWhenAddsCopyOfItem()
 {
     var mealItem = new MealItem();
     mealItem.SetOwner(factories);
     factories.CreateMealItem().Returns(mealItem);
     factories.Finder.Returns(new FinderImpl(factories));
     factories.Products.Returns(new Fixture().CreateMany<Product>().ToList());
     sut.Load();
     backNavigation.AddCopyOfThisItem = new MealItem { ProductId = factories.Products.First().Id };
     backNavigation.AddCopyOfThisItem.SetOwner(factories);
     var productName = string.Empty;
     sut.Subject.Items.CollectionChanged += delegate
     {
         var item = sut.Subject.Items.First();
         item.PropertyChanged += (_, e) =>
         {
             if (e.PropertyName == "ProductName")
                 productName = item.ProductName;
         };
     };
     sut.ReturnedFromNavigation();
     Assert.AreEqual(factories.Products.First().Name, productName);
 }
Exemplo n.º 3
0
 public MealItem CreateMealItem()
 {
     var mealItem = new MealItem();
     mealItem.SetOwner(this);
     return mealItem;
 }
 public void TestInitialize()
 {
     factories = Substitute.For<Factories>();
     meal = new Meal();
     sut = new MealViewModel(meal, factories);
     meal.SetOwner(factories);
     meal.InitializeItems(new List<MealItem>());
     factories.CreateMealItem().Returns(_ =>
     {
         var mealItem = new MealItem();
         mealItem.SetOwner(factories);
         return mealItem;
     });
     var fixture = new Fixture();
     factories.Products.Returns(fixture.CreateMany<Product>(10).ToList());
     factories.Finder.Returns(new FinderImpl(factories));
 }