示例#1
0
        public PlanetPresenter(AsyncPlanet planet, Action <PlanetPresenter> delete)
        {
            _planet = planet;

            EditName   = new EditPlanetName(_planet);
            DeleteItem = new DeletePlanet(_planet);

            _planet.PlanetRenamed += (sender, args) => { this.RaisePropertyChanged(nameof(Text)); };
            _planet.PlanetDeleted += (sender, args) => { delete(this); };
        }
示例#2
0
        public void Delete_InvokeEvent(UniverseSources source)
        {
            var planets = Universe(source).Planets();
            var planet  = new AsyncPlanet(planets.Create(""));
            var invoked = false;

            planet.PlanetDeleted += (sender, args) => invoked = true;

            planet.Delete();

            Assert.IsTrue(invoked);
            Assert.IsFalse(planets.Any());
        }
示例#3
0
        public async Task RenameAsync_InvokeEvent(UniverseSources source)
        {
            var planet  = new AsyncPlanet(Universe(source).Planets().Create(""));
            var invoked = false;

            planet.PlanetRenamed += (sender, args) => invoked = true;

            var name = "Test";
            await planet.RenameAsync(name);

            Assert.AreEqual(name, await planet.NameAsync());
            Assert.IsTrue(invoked);
        }
        public async Task EditPlanetName_Execute_ChangeName(UniverseSources source)
        {
            var name        = "Test";
            var asyncPlanet = new AsyncPlanet(Universe(source).Planets().Create(name));
            var command     = new EditPlanetName(asyncPlanet);

            name = "Test2";

            Assert.IsTrue(command.CanExecute(name));

            await command.ExecuteAsync(name);

            Assert.AreEqual(name, asyncPlanet.Name());
        }
示例#5
0
 public EditPlanetName(AsyncPlanet planet)
 {
     _planet = planet;
 }
示例#6
0
 public DeletePlanet(AsyncPlanet planet)
 {
     _planet = planet;
 }