public void Read_Default()
        {
            var data = new DebtFileStorage();
            var obj  = data.Load();

            obj.Should().HaveCount(debtPortfolio.Count);
            obj.ForEach(x =>
                        debtPortfolio
                        .First(y => y.Name == x.Name)
                        .ToString()
                        .Should()
                        .Be(x.ToString()));
        }
        public void WriteRead_Default()
        {
            var data = new DebtFileStorage();

            data.Save(debtPortfolio);
            File.Exists(data.FilePath).Should().BeTrue();
            var obj = data.Load();

            obj.Should().HaveCount(debtPortfolio.Count);
            obj.ForEach(x =>
                        debtPortfolio
                        .First(y => y.Name == x.Name)
                        .ToString()
                        .Should()
                        .Be(x.ToString()));
        }
        public void FileLocation()
        {
            var          currentTime  = DateTime.Now;
            const string NEW_FILE     = "testData.file.dat";
            var          directory    = new DirectoryInfo(Directory.GetCurrentDirectory());
            var          newDirectory = directory.CreateSubdirectory("test");

            var data = new DebtFileStorage(newDirectory,
                                           NEW_FILE);

            data.Save(debtPortfolio);
            var savedFile = new FileInfo(Path.Combine(newDirectory.ToString(), NEW_FILE));

            savedFile.Exists.Should().BeTrue();
            savedFile.LastWriteTime.Should().BeOnOrAfter(currentTime);
        }
        public void WriteRead_CustomDirFile()
        {
            var data = new DebtFileStorage(new DirectoryInfo(Environment.CurrentDirectory),
                                           "testData.file.dat");

            data.Save(debtPortfolio);
            File.Exists(data.FilePath).Should().BeTrue();
            var obj = data.Load();

            obj.Should().HaveCount(debtPortfolio.Count);
            obj.ForEach(x =>
                        debtPortfolio
                        .First(y => y.Name == x.Name)
                        .ToString()
                        .Should()
                        .Be(x.ToString()));
        }
        public void WriteRead_CustomKey()
        {
            const string TEST_S = "PRETEnd P@sword Goes Here!Sometimes.";
            var          data   = new DebtFileStorage(null,
                                                      "DebtFile.Custom.dat",
                                                      TEST_S.ToSecureString());

            data.Save(debtPortfolio);
            File.Exists(data.FilePath).Should().BeTrue();
            var obj = data.Load();

            obj.Should().HaveCount(debtPortfolio.Count);
            obj.ForEach(x =>
                        debtPortfolio
                        .First(y => y.Name == x.Name)
                        .ToString()
                        .Should()
                        .Be(x.ToString()));
        }