public ConfirmationAlbumViewModel(IList<IMusicObject> iInitialAlbums)
        {
            _InitialAlbums = new WrappedObservableCollection<IMusicObject>(iInitialAlbums);
            _SelectedAlbums = new WrappedObservableCollection<IMusicObject>(iInitialAlbums);

            OK = Register(RelayCommand.Instanciate(Commit, () => (Answer != null) && SelectedAlbums.Count > 0));
        }
 public void Test_6()
 {
     _Target = new WrappedObservableCollection<string>( new string[] {"totot","titi"});
     _Target.MonitorEvents();
     _Target.Clear();
     _Target.ShouldRaise("ObjectChanged");
 }
            public void InitialItemsShouldBeInProvidedOrder()
            {
                var items = new[] { 1, 2, 3 };

                var sut = new WrappedObservableCollection <int, string>(items, item => item.ToString());

                Assert.AreEqual(0, sut.IndexOf(1.ToString()));
                Assert.AreEqual(1, sut.IndexOf(2.ToString()));
                Assert.AreEqual(2, sut.IndexOf(3.ToString()));
            }
        public MoveAlbumFileWindowViewModel(IMusicSession ims, IEnumerable<IAlbum> al)
        {
            _IMusicSession = ims;
            AllAlbums = al;
            Directory = _IMusicSession.Setting.MusicImporterExporter.PathMove;
            _SelectedAlbums = new WrappedObservableCollection<IAlbum>();
            _SelectedAlbums.CollectionChanged += inc_CollectionChanged;

            Move = this.Register( RelayCommand.Instanciate(() => DoMove(), ()=>IsValid));
        }
            public void ShouldContainInitialItems()
            {
                var items = new[] { 1, 2, 3 };

                var sut = new WrappedObservableCollection <int, string>(items, item => item.ToString());

                Assert.AreEqual(3, sut.Count);
                Assert.IsTrue(sut.Contains(1.ToString()));
                Assert.IsTrue(sut.Contains(2.ToString()));
                Assert.IsTrue(sut.Contains(3.ToString()));
            }
Пример #6
0
 public Exporter(IMusicSession iSession, IEnumerable<IAlbum> iAlbums)
 {
     Session = iSession;
     _session = Session.Setting.MusicImporterExporter;
     Option = _session.LastExportType;
     Directory = _session.OutputPath;
     iPodExport = _session.SynchronizeBrokeniTunes;
     _Albums = iAlbums.ToList();
     _SelectedAlbums = new WrappedObservableCollection<IAlbum>();
     _SelectedAlbums.CollectionChanged += SelectedAlbums_CollectionChanged;
     OK = this.Register(RelayCommand.Instanciate(() => DoOK(), () => IsValid));
     Cancel = RelayCommand.Instanciate(() => Window.Close());
 }
            public void CollectionShouldBeUpdated(params int[] newItems)
            {
                Setup();

                var items = new MvxObservableCollection <int> {
                    1, 2, 3, 4, 5, 6
                };

                var sut = new WrappedObservableCollection <int, string>(items, Factory);

                items.ReplaceWith(newItems);

                Assert.AreEqual(Transform(newItems), sut);
            }
            public void CollectionShouldBeUpdated(int oldIndex, int newIndex)
            {
                Setup();

                var items = new MvxObservableCollection <int> {
                    1, 2, 3, 4, 5, 6
                };

                var sut = new WrappedObservableCollection <int, string>(items, Factory);

                items.Move(oldIndex, newIndex);

                Assert.AreEqual(Transform(items), sut);
            }
        public AlbumEditorViewModel(IMusicSession iMusicSession, IModifiableAlbum iModifiableAlbum)
        {
            _IModifiableAlbum = iModifiableAlbum;
            _Session = iMusicSession;

            ArtistSearchableFactory = new ArtistSearchableFactory(iMusicSession);

            GenreFactory = FactoryBuilder.Instanciate((n) => iMusicSession.GetGenreFactory().Create(n));

            Images = _IModifiableAlbum.Images;
            SelectedImages = new WrappedObservableCollection<IAlbumPicture>();
            

            if (Images.Count > 0)
                SelectedImage = Images[0];

            Images.CollectionChanged += Images_CollectionChanged;
                
            SelectedTracks = new WrappedObservableCollection<IModifiableTrack>();

            Authours = _IModifiableAlbum.Artists;
            _Genre = iMusicSession.GetGenreFactory().Get(_IModifiableAlbum.Genre);
            Genres = Register(iMusicSession.AllGenres.LiveOrderBy(global => global.FullName));

            Tracks = new WrappedObservableCollection<IModifiableTrack>(_IModifiableAlbum.Tracks.
                OrderBy(t => t.DiscNumber).ThenBy(t => t.TrackNumber).ThenBy(t => t.Name));

            SetFrontCover = Register(RelayCommand.Instanciate<IAlbumPicture>(SetToFront, ial => (ial != null) && Images.IndexOf(ial) > 0));
            ToLast = Register(RelayCommand.Instanciate<IAlbumPicture>(SetToLast, ial => (ial != null) && Images.IndexOf(ial) != Images.Count - 1));

            SplitImage = Register(RelayCommand.Instanciate<IAlbumPicture>(DoSplitImage, ial => ial != null));
            RotateImageRight = Register(RelayCommand.Instanciate<IAlbumPicture>((al)=>DoRotateImage(al,true), ial => ial != null));
            RotateImageLeft = Register(RelayCommand.Instanciate<IAlbumPicture>((al) => DoRotateImage(al, false), ial => ial != null));
            DeleteImage = Register(RelayCommand.Instanciate<IAlbumPicture>(DoDeleteImage, ial => ial != null));
            ImageFromFile = RelayCommand.Instanciate(DoImageFromFile);
            PasteImage = RelayCommand.InstanciateStatic(DoPasteImage, CanExecuteImage);

            DeleteTrack = Register(RelayCommand.Instanciate<IModifiableTrack>(DoDeleteTrack, ial => ial != null));
            WindowOpenTrack = Register(RelayCommand.Instanciate<IModifiableTrack>(DoWindowOpenTrack, ial => ial != null));
            UpdateFromFileName = Register(RelayCommand.Instanciate<IModifiableTrack>(DoUpdateFromFileName, ial => ial != null));
            RemoveTrackNumber= Register(RelayCommand.Instanciate<IModifiableTrack>(DoRemoveTrackNumber, ial => ial != null));
            PreFixByArtistName = Register(RelayCommand.Instanciate<IModifiableTrack>(DoPreFixByArtistName, ial => ial != null));
            ChangeDiscNumber = Register(RelayCommand.Instanciate<IModifiableTrack>(DoChangeDiscNumber, ial => ial != null));

            FindFromDB = RelayCommand.Instanciate(DoFindFromInternet);
            BrowseInternet = RelayCommand.Instanciate(FindOnInternet);
            OK = RelayCommand.Instanciate(DoCommit);
        }
            public void CollectionShouldBeUpdated(params int[] newItems)
            {
                Setup();

                var items = new MvxObservableCollection <int> {
                    1, 2, 3
                };
                var index = items.Count;

                var sut = new WrappedObservableCollection <int, string>(items, Factory);

                items.AddRange(newItems);

                Assert.AreEqual(items.Count, sut.Count);
                Assert.AreEqual(Transform(newItems), sut.Take(index, newItems.Length));
            }
            public void CollectionShouldBeUpdated(int start, int count)
            {
                Setup();

                var items = new MvxObservableCollection <int> {
                    1, 2, 3, 4, 5, 6
                };
                var oldItems = Transform(items.ToArray().Take(start, count));

                var sut = new WrappedObservableCollection <int, string>(items, Factory);

                items.RemoveRange(start, count);

                Assert.AreEqual(items.Count, sut.Count);
                CollectionAssert.IsNotSubsetOf(oldItems, sut);
            }
            public void ResetEventShouldBeRaised(params int[] newItems)
            {
                Setup();

                var events = new List <NotifyCollectionChangedEventArgs>();
                var items  = new MvxObservableCollection <int> {
                    1, 2, 3, 4, 5, 6
                };

                var sut = new WrappedObservableCollection <int, string>(items, Factory);

                sut.CollectionChanged += (_, args) => events.Add(args);

                items.ReplaceWith(newItems);

                Assert.AreEqual(1, events.Count);
                Assert.AreEqual(NotifyCollectionChangedAction.Reset, events[0].Action);
            }
                public void EventShouldNotBeRaised()
                {
                    Setup();

                    var events = new List <NotifyCollectionChangedEventArgs>();
                    var items  = new MvxObservableCollection <int> {
                        1, 2, 3
                    };

                    var sut = new WrappedObservableCollection <int, string>(items, item => item.ToString());

                    sut.CollectionChanged += (_, args) => events.Add(args);

                    sut.Dispose();

                    items.Add(4);
                    items.Remove(4);

                    Assert.AreEqual(0, events.Count);
                }
            public void AddEventShouldBeRaised(params int[] newItems)
            {
                Setup();

                var events = new List <NotifyCollectionChangedEventArgs>();
                var items  = new MvxObservableCollection <int> {
                    1, 2, 3
                };
                var index = items.Count;

                var sut = new WrappedObservableCollection <int, string>(items, Factory);

                sut.CollectionChanged += (_, args) => events.Add(args);

                items.AddRange(newItems);

                Assert.AreEqual(1, events.Count);
                Assert.AreEqual(NotifyCollectionChangedAction.Add, events[0].Action);
                Assert.AreEqual(index, events[0].NewStartingIndex);
                Assert.AreEqual(Transform(newItems), events[0].NewItems);
            }
            public void RemoveEventShouldBeRaised(int start, int count)
            {
                Setup();

                var events = new List <NotifyCollectionChangedEventArgs>();
                var items  = new MvxObservableCollection <int> {
                    1, 2, 3, 4, 5, 6
                };
                var oldItems = Transform(items.ToArray().Take(start, count));

                var sut = new WrappedObservableCollection <int, string>(items, Factory);

                sut.CollectionChanged += (_, args) => events.Add(args);

                items.RemoveRange(start, count);

                Assert.AreEqual(1, events.Count);
                Assert.AreEqual(NotifyCollectionChangedAction.Remove, events[0].Action);
                Assert.AreEqual(start, events[0].OldStartingIndex);
                Assert.AreEqual(oldItems, events[0].OldItems);
            }
        public void Setup()
        {
            _wpfTester = new WPFTester();

            _window = new Window();
        
            StackPanel stackPanel = new StackPanel();
            NameScope.SetNameScope(_window, new NameScope());

            _window.Content = stackPanel;

            _listBlock = new ListBox();
            _listBlock.Name = "theleb";
            _listBlock.SelectionMode = SelectionMode.Multiple;  
            _listBlock.ItemsSource = new string[] { "1", "2", "3", "4" };
   
            _window.RegisterName(_listBlock.Name, _listBlock);
            stackPanel.Children.Add(_listBlock);

            _Binded = new WrappedObservableCollection<string>();

            _wpfTester.ShowWindow(_window);
        }
            public void MoveEventShouldBeRaised(int oldIndex, int newIndex)
            {
                Setup();

                var events = new List <NotifyCollectionChangedEventArgs>();
                var items  = new MvxObservableCollection <int> {
                    1, 2, 3, 4, 5, 6
                };
                var changedItems = new[] { Transform(items).ElementAt(oldIndex) };

                var sut = new WrappedObservableCollection <int, string>(items, Factory);

                sut.CollectionChanged += (_, args) => events.Add(args);

                items.Move(oldIndex, newIndex);

                Assert.AreEqual(1, events.Count);
                Assert.AreEqual(NotifyCollectionChangedAction.Move, events[0].Action);
                Assert.AreEqual(oldIndex, events[0].OldStartingIndex);
                Assert.AreEqual(newIndex, events[0].NewStartingIndex);
                Assert.AreEqual(changedItems, events[0].NewItems);
                Assert.AreEqual(changedItems, events[0].OldItems);
            }
 public void SetUp()
 {
     _Target = new WrappedObservableCollection<string>();
 }