public void RemoveCommand_ShouldInvokeOnProgramRemoval()
        {
            var itemVm = new ProgramListItemViewModel(new Mock <IProgram>().Object);

            itemVm.ProgramRemove += (sender, e) =>
            {
                Assert.Equal(sender, itemVm);
                Assert.Equal(e.Item, itemVm);
            };

            ProgramListItemViewModel.RemoveProgram.Execute(itemVm);
        }
        public void AfterConstructor_PropertiesProperlySet()
        {
            var    programMock = new Mock <IProgram>();
            string name        = "some name";
            ulong  id          = 1234;

            programMock.SetupGet(x => x.Name).Returns(name);
            programMock.SetupGet(x => x.Id).Returns(id);

            var itemVm = new ProgramListItemViewModel(programMock.Object);

            Assert.Equal(name, itemVm.Name);
            Assert.Equal(id, itemVm.Id);
        }