public void SetUp() { _Un = new MyObject("a", 0); _Deux = new MyObject("b", 1); _Trois = new MyObject("c", 2); _Quatre = new MyObject("d", 3); _Cinq = new MyObject("e", 4); _DecoratedOriginalElements = new List<MyObject>(); _DecoratedOriginalElements.Add(_Un); _DecoratedOriginalElements.Add(_Deux); _DecoratedOriginalElements.Add(_Trois); _DecoratedOriginalElements.Add(_Quatre); _DecoratedOriginalElements.Add(_Cinq); _ListForComparison = new List<IObject>(); _ListForComparison.AddRange(_DecoratedOriginalElements); _OriginalElements = new List<MyObject>(); _OriginalElements.AddRange(_DecoratedOriginalElements); _SCMC = SafeCollectionModifierConverter<MyObject, IObject>.GetSafeCollectionModifierConverterDerived<MyObject, IObject>(_DecoratedOriginalElements); _IML = _SCMC; _ChangedList = _IML.MofifiableCollection; _EL = new EventListener<EventArgs>(); _SCMC.OnCommit += _EL.SingleElementChangedListener; }
internal AlbumModifier(Album iAM, bool resetCorruptedImage, IImportContext IT) { _AM = iAM; _IT = IT; _AlbumImages = iAM.RawImages; _AlbumImages.MofifiableCollection.CollectionChanged += OnImagesChanged; _Artists = iAM.GetArtistModifier(); _Artists.MofifiableCollection.CollectionChanged += MofifiableCollection_CollectionChanged; _Artists.OnCommit += new EventHandler<EventArgs>(_Artists_OnCommit); _OldArtist = _Artists.MofifiableCollection.ToList(); if (resetCorruptedImage) { Stack<int> IndexToRemove = new Stack<int>(); for (int i=0;i<_AlbumImages.MofifiableCollection.Count;i++) { if (_AlbumImages.MofifiableCollection[i] == null) IndexToRemove.Push(i); } while (IndexToRemove.Count > 0) { _AlbumImages.MofifiableCollection.RemoveAt(IndexToRemove.Pop()); } foreach (IAlbumPicture pic in (from im in _AlbumImages.MofifiableCollection where im.IsBroken select im).ToList()) { Images.Remove(pic); } } }