public void MoveFile() { // remove any existing files from previous test executions string sourceFilePath = Path.Combine(Environment.CurrentDirectory, "DatabaseTests.MoveFile.jpg"); if (File.Exists(sourceFilePath)) { File.Delete(sourceFilePath); } string subfolderPath = Path.Combine(Environment.CurrentDirectory, "DatabaseTests.MoveFileFolder"); if (Directory.Exists(subfolderPath) == false) { Directory.CreateDirectory(subfolderPath); } string destinationFilePath = Path.Combine(subfolderPath, Path.GetFileName(sourceFilePath)); if (File.Exists(destinationFilePath)) { File.Delete(destinationFilePath); } FileExpectations fileExpectation = new FileExpectations(TestConstant.FileExpectation.DaylightBobcat); fileExpectation.ID = Constant.Database.InvalidID; // create ImageRow object for file File.Copy(fileExpectation.FileName, sourceFilePath); FileInfo fileInfo = new FileInfo(sourceFilePath); FileDatabase fileDatabase = this.CreateFileDatabase(TestConstant.File.DefaultTemplateDatabaseFileName, TestConstant.File.DefaultNewFileDatabaseFileName); ImageRow file; fileDatabase.GetOrCreateFile(fileInfo, fileDatabase.ImageSet.GetTimeZone(), out file); TimeZoneInfo imageSetTimeZone = fileDatabase.ImageSet.GetTimeZone(); file.TryReadDateTimeOriginalFromMetadata(fileDatabase.FolderPath, imageSetTimeZone); fileExpectation.FileName = Path.GetFileName(sourceFilePath); fileExpectation.Verify(file, imageSetTimeZone); // move file Assert.IsTrue(file.TryMoveToFolder(fileDatabase.FolderPath, subfolderPath, false)); fileExpectation.RelativePath = Path.GetFileName(subfolderPath); fileExpectation.Verify(file, imageSetTimeZone); // move file back Assert.IsTrue(file.TryMoveToFolder(fileDatabase.FolderPath, fileDatabase.FolderPath, false)); fileExpectation.RelativePath = null; fileExpectation.Verify(file, imageSetTimeZone); }
public void FileDatabaseVerfication() { // load database string fileDatabaseBaseFileName = TestConstant.File.DefaultFileDatabaseFileName; FileDatabase fileDatabase = this.CloneFileDatabase(TestConstant.File.DefaultTemplateDatabaseFileName, fileDatabaseBaseFileName); Assert.IsTrue(fileDatabase.ControlSynchronizationIssues.Count == 0); fileDatabase.SelectFiles(FileSelection.All); Assert.IsTrue(fileDatabase.Files.RowCount > 0); // verify template portion this.VerifyTemplateDatabase(fileDatabase, fileDatabaseBaseFileName); DefaultTemplateTableExpectation templateTableExpectation = new DefaultTemplateTableExpectation(new Version(2, 2, 0, 0)); templateTableExpectation.Verify(fileDatabase); // verify image set table this.VerifyDefaultImageSet(fileDatabase); // verify markers table int filesExpected = 2; this.VerifyDefaultMarkerTableContent(fileDatabase, filesExpected); MarkerExpectation martenMarkerExpectation = new MarkerExpectation(); martenMarkerExpectation.ID = 1; martenMarkerExpectation.UserDefinedCountersByDataLabel.Add(TestConstant.DefaultDatabaseColumn.Counter0, "0.498,0.575|0.550,0.566|0.584,0.555"); martenMarkerExpectation.UserDefinedCountersByDataLabel.Add(TestConstant.DefaultDatabaseColumn.CounterWithCustomDataLabel, String.Empty); martenMarkerExpectation.UserDefinedCountersByDataLabel.Add(TestConstant.DefaultDatabaseColumn.CounterNotVisible, String.Empty); martenMarkerExpectation.UserDefinedCountersByDataLabel.Add(TestConstant.DefaultDatabaseColumn.Counter3, String.Empty); martenMarkerExpectation.Verify(fileDatabase.Markers[0]); MarkerExpectation bobcatMarkerExpectation = new MarkerExpectation(); bobcatMarkerExpectation.ID = 2; bobcatMarkerExpectation.UserDefinedCountersByDataLabel.Add(TestConstant.DefaultDatabaseColumn.Counter0, String.Empty); bobcatMarkerExpectation.UserDefinedCountersByDataLabel.Add(TestConstant.DefaultDatabaseColumn.CounterWithCustomDataLabel, String.Empty); bobcatMarkerExpectation.UserDefinedCountersByDataLabel.Add(TestConstant.DefaultDatabaseColumn.CounterNotVisible, String.Empty); bobcatMarkerExpectation.UserDefinedCountersByDataLabel.Add(TestConstant.DefaultDatabaseColumn.Counter3, String.Empty); bobcatMarkerExpectation.Verify(fileDatabase.Markers[1]); // verify Files Assert.IsTrue(fileDatabase.Files.ColumnNames.Count() == TestConstant.DefaultFileDataColumns.Count); Assert.IsTrue(fileDatabase.Files.RowCount == filesExpected); TimeZoneInfo imageSetTimeZone = fileDatabase.ImageSet.GetTimeZone(); FileExpectations martenExpectation = new FileExpectations(TestConstant.FileExpectation.InfraredMarten); martenExpectation.ID = 1; martenExpectation.UserDefinedColumnsByDataLabel.Add(TestConstant.DefaultDatabaseColumn.Counter0, "3"); martenExpectation.UserDefinedColumnsByDataLabel.Add(TestConstant.DefaultDatabaseColumn.Choice0, "choice c"); martenExpectation.UserDefinedColumnsByDataLabel.Add(TestConstant.DefaultDatabaseColumn.Note0, "0"); martenExpectation.UserDefinedColumnsByDataLabel.Add(TestConstant.DefaultDatabaseColumn.Flag0, Boolean.TrueString); martenExpectation.UserDefinedColumnsByDataLabel.Add(TestConstant.DefaultDatabaseColumn.CounterWithCustomDataLabel, "100"); martenExpectation.UserDefinedColumnsByDataLabel.Add(TestConstant.DefaultDatabaseColumn.ChoiceWithCustomDataLabel, "Genus species"); martenExpectation.UserDefinedColumnsByDataLabel.Add(TestConstant.DefaultDatabaseColumn.NoteWithCustomDataLabel, "custom label"); martenExpectation.UserDefinedColumnsByDataLabel.Add(TestConstant.DefaultDatabaseColumn.FlagWithCustomDataLabel, Boolean.FalseString); martenExpectation.UserDefinedColumnsByDataLabel.Add(TestConstant.DefaultDatabaseColumn.CounterNotVisible, templateTableExpectation.CounterNotVisible.DefaultValue); martenExpectation.UserDefinedColumnsByDataLabel.Add(TestConstant.DefaultDatabaseColumn.ChoiceNotVisible, Constant.ControlDefault.Value); martenExpectation.UserDefinedColumnsByDataLabel.Add(TestConstant.DefaultDatabaseColumn.NoteNotVisible, Constant.ControlDefault.Value); martenExpectation.UserDefinedColumnsByDataLabel.Add(TestConstant.DefaultDatabaseColumn.FlagNotVisible, Constant.ControlDefault.FlagValue); martenExpectation.UserDefinedColumnsByDataLabel.Add(TestConstant.DefaultDatabaseColumn.Counter3, "1"); martenExpectation.UserDefinedColumnsByDataLabel.Add(TestConstant.DefaultDatabaseColumn.Choice3, Constant.ControlDefault.Value); martenExpectation.UserDefinedColumnsByDataLabel.Add(TestConstant.DefaultDatabaseColumn.Note3, "note"); martenExpectation.UserDefinedColumnsByDataLabel.Add(TestConstant.DefaultDatabaseColumn.Flag3, Boolean.TrueString); martenExpectation.Verify(fileDatabase.Files[0], imageSetTimeZone); FileExpectations bobcatExpectation = new FileExpectations(TestConstant.FileExpectation.DaylightBobcat); bobcatExpectation.ID = 2; bobcatExpectation.UserDefinedColumnsByDataLabel.Add(TestConstant.DefaultDatabaseColumn.Counter0, templateTableExpectation.Counter0.DefaultValue); bobcatExpectation.UserDefinedColumnsByDataLabel.Add(TestConstant.DefaultDatabaseColumn.Choice0, "choice a"); bobcatExpectation.UserDefinedColumnsByDataLabel.Add(TestConstant.DefaultDatabaseColumn.Note0, "1"); bobcatExpectation.UserDefinedColumnsByDataLabel.Add(TestConstant.DefaultDatabaseColumn.Flag0, Boolean.TrueString); bobcatExpectation.UserDefinedColumnsByDataLabel.Add(TestConstant.DefaultDatabaseColumn.CounterWithCustomDataLabel, "3"); bobcatExpectation.UserDefinedColumnsByDataLabel.Add(TestConstant.DefaultDatabaseColumn.ChoiceWithCustomDataLabel, "with , comma"); bobcatExpectation.UserDefinedColumnsByDataLabel.Add(TestConstant.DefaultDatabaseColumn.NoteWithCustomDataLabel, Constant.ControlDefault.Value); bobcatExpectation.UserDefinedColumnsByDataLabel.Add(TestConstant.DefaultDatabaseColumn.FlagWithCustomDataLabel, Boolean.TrueString); bobcatExpectation.UserDefinedColumnsByDataLabel.Add(TestConstant.DefaultDatabaseColumn.CounterNotVisible, templateTableExpectation.CounterNotVisible.DefaultValue); bobcatExpectation.UserDefinedColumnsByDataLabel.Add(TestConstant.DefaultDatabaseColumn.ChoiceNotVisible, Constant.ControlDefault.Value); bobcatExpectation.UserDefinedColumnsByDataLabel.Add(TestConstant.DefaultDatabaseColumn.NoteNotVisible, Constant.ControlDefault.Value); bobcatExpectation.UserDefinedColumnsByDataLabel.Add(TestConstant.DefaultDatabaseColumn.FlagNotVisible, Constant.ControlDefault.FlagValue); bobcatExpectation.UserDefinedColumnsByDataLabel.Add(TestConstant.DefaultDatabaseColumn.Counter3, templateTableExpectation.Counter3.DefaultValue); bobcatExpectation.UserDefinedColumnsByDataLabel.Add(TestConstant.DefaultDatabaseColumn.Choice3, Constant.ControlDefault.Value); bobcatExpectation.UserDefinedColumnsByDataLabel.Add(TestConstant.DefaultDatabaseColumn.Note3, Constant.ControlDefault.Value); bobcatExpectation.UserDefinedColumnsByDataLabel.Add(TestConstant.DefaultDatabaseColumn.Flag3, Boolean.TrueString); bobcatExpectation.Verify(fileDatabase.Files[1], imageSetTimeZone); }