123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172 |
- using PicView.Core.FileHandling;
- using PicView.Core.Navigation;
- namespace PicView.Tests;
- public class FileHistoryTest
- {
- [Fact]
- public void TestFileHistory()
- {
- var list = new List<string>();
- var history = new FileHistory();
- Assert.NotNull(history);
- // Check adding
- for (var i = 0; i <= FileHistory.MaxCount; i++)
- {
- AddRandomFiles(history, list);
- }
- Assert.Equal(FileHistory.MaxCount, history.GetCount());
- AddRandomFiles(history, list);
- Assert.Equal(FileHistory.MaxCount, history.GetCount());
- // Check removing
- history.Remove(history.GetLastFile());
- Assert.Equal(FileHistory.MaxCount - 1, history.GetCount());
- // Check renaming
- var lastFile = history.GetLastFile();
- var newFile = Path.GetFileNameWithoutExtension(lastFile);
- newFile = Path.GetRandomFileName();
- history.Rename(lastFile, newFile);
- Assert.Equal(newFile, history.GetLastFile());
- history.Remove(newFile);
- Assert.False(history.Contains(newFile));
- // Check getting iterations
- var entry = history.GetEntryAt(1);
- Assert.NotNull(entry);
- var nextEntry = history.GetNextEntry(looping: true, 2);
- Assert.NotNull(nextEntry);
- Assert.True(File.Exists(nextEntry));
- var prevEntry = history.GetPreviousEntry(looping: true, 2);
- Assert.NotNull(prevEntry);
- Assert.True(File.Exists(prevEntry));
- foreach (var t in list)
- {
- FileDeletionHelper.DeleteFileWithErrorMsg(t, false);
- Assert.False(File.Exists(t));
- history.Remove(t);
- }
- Assert.Equal(0, history.GetCount());
- }
- private static void AddRandomFiles(FileHistory history, List<string> list)
- {
- var imageFileExtensionArray = new[] { ".jpg", ".png", ".bmp", ".gif", ".tiff", ".webp" };
- var directory = TempFileHelper.CreateTempDirectory();
- Assert.True(directory);
- var randomExtension = imageFileExtensionArray[new Random().Next(0, imageFileExtensionArray.Length)];
- var randomFileNameWithExtension = TempFileHelper.TempFilePath + randomExtension;
- var fullPath = Path.Combine(TempFileHelper.TempFilePath, randomFileNameWithExtension);
- using var fs = File.Create(fullPath);
- Assert.True(File.Exists(fullPath));
- history.Add(randomFileNameWithExtension);
- list.Add(randomFileNameWithExtension);
- }
- }
|