//[SetUp] public void GlobalSetUp() { if (_EnvironmentInitialised == false) { DirectoryInfo difo = new DirectoryInfo(Path.GetFullPath(@"..\..\TestFolders\InFolder")); if (difo.Exists) { difo.RemoveReadOnly(); difo.Empty(true); } difo = new DirectoryInfo(Path.GetFullPath(@"..\..\TestFolders\OutFolder")); if (difo.Exists) { difo.RemoveReadOnly(); difo.Empty(true); } DirectoryInfo dif = new DirectoryInfo(Path.GetFullPath(@"..\..\TestFolders\InToBeCopied")); dif.Copy(Path.GetFullPath(@"..\..\TestFolders\InFolder")); difo = new DirectoryInfo(Path.GetFullPath(@"..\..\TestFolders\InFolder")); difo.RemoveReadOnly(); _MFH = new MusicFolderHelper(Path.GetFullPath(@"..\..\TestFolders\OutFolder")); CleanDirectories(_MFH); _MFH = new MusicFolderHelper(Path.GetFullPath(@"..\..\TestFolders\OutFolder")); _EnvironmentInitialised = true; } }
internal FileCleaner(IEnumerable<string> files, IEnumerable<string> Directory, Func<string, bool> IsAlsoRemovable, Func<DirectoryInfo, bool> IsDirRemovable, bool reversible, MusicFolderHelper mfh) { _Files = new HashSet<string>(from f in ((files == null) ? Enumerable.Empty<string>() : files) select f.ToLower()); _CanBeRemoved = IsAlsoRemovable; _CanDirBeRemoved = IsDirRemovable; _Directory = Directory ?? Enumerable.Empty<string>(); _MFH = mfh; }
private void CleanDirectories(MusicFolderHelper imfh) { DirectoryInfo di = new DirectoryInfo(imfh.Cache); di.RemoveReadOnly(); di.Empty(true); GC.Collect(); GC.WaitForPendingFinalizers(); DirectoryInfo diroot = new DirectoryInfo(imfh.Root); diroot.RemoveReadOnly(); diroot.Empty(true); }
protected void Init() { _MFH = new MusicFolderHelper(DirectoryOut); //_SK = GetKeys(); DirectoryIn = Path.Combine(RootDirectoryIn, InputDirectorySimpleName); object[] PIs = this.GetType().GetCustomAttributes(typeof(TestFolderAttribute), false); if ((PIs != null) && (PIs.Length > 0)) { TestFolderAttribute tfa = PIs[0] as TestFolderAttribute; if (!Directory.Exists(DirectoryIn)) { Directory.CreateDirectory(DirectoryIn); } CopyName = tfa.InFolderName ?? InputDirectorySimpleName; CopyNameDB = tfa.DBFolderName ?? InputDirectorySimpleName; DirectoryInfo dif = new DirectoryInfo(Path.Combine(Path.GetFullPath(@"..\..\TestFolders\InToBeCopied"), CopyName)); dif.Copy(DirectoryIn); dif = new DirectoryInfo(DirectoryIn); dif.RemoveReadOnly(); //IsOverride = true; } else { CopyName = InputDirectorySimpleName; CopyNameDB = InputDirectorySimpleName; } CopyDBIfNeeded(); _SK = GetKeys(); OldAlbums = new List<IList<ExportAlbum>>(); bool continu = true; int i = 0; while (continu) { string iPath = Path.Combine(DirectoryIn, string.Format("AlbumRef{0}.xml", i++)); if (File.Exists(iPath)) { OldAlbums.Add(ExportAlbums.Import(iPath, false, String.Empty, null)); } else continu = false; } Albums = new List<IList<AlbumDescriptor>>(); continu = true; i = 0; while (continu) { string iPath = Path.Combine(DirectoryIn, string.Format("Album{0}.xml", i++)); if (File.Exists(iPath)) { Albums.Add(AlbumDescriptorExchanger.Import(iPath, false, String.Empty, null)); } else continu = false; } Albums.SelectMany(o => o).SelectMany(u => u.RawTrackDescriptors.Select(t => new Tuple<AlbumDescriptor, TrackDescriptor>(u, t))).Apply(o => Assert.That(o.Item1, Is.EqualTo(o.Item2.AlbumDescriptor))); }
public DummySessionBuilder(MusicFolderHelper iPath, ManualSettings settings) { Folders = iPath; SettingFactory = settings; _IInfraDependencies = new CurrentInfraTools(new WindowsMusicFactory()); }
private MusicSessionImpl(ISessionBuilder isb,IMainWindowHwndProvider mp) { _IMW = mp; _AllAlbums = new AlbumCollection(this); _AllArtists = new ArtistCollection(this); _AllTracks = new TrackCollection(this); _MusicFolderHelper = isb.Folders; _ISF = isb.GetNhibernateConfiguration(DBFactoryBuilder.GetConfiguration).BuildSessionFactory(); _ISFact = isb.SettingFactory; _CleanOnOpen = isb.DBCleanOnOpen; _SessionCose = isb.OnSessionClose; this.Dependencies = isb.InfraTools; TraceListener = new ApplicationTraceListener(); _MusicConverter = new Lazy<IMusicConverter>(isb.MusicConverterBuilder); Trace.Listeners.Add(TraceListener); }