Ejemplo n.º 1
0
        public void ScanVoteData_FileUpdated()
        {
            var votes = new Dictionary <string, UserVote>();

            votes.Add("Level1", new UserVote()
            {
                key = "1111", voteType = "Upvote"
            });
            votes.Add("Level2", new UserVote()
            {
                key = "2222", voteType = "Downvote"
            });

            var serialized = JsonConvert.SerializeObject(votes);

            File.WriteAllText(SPHModel.VoteFile, serialized);

            Assert.True(SPHModel.ScanVoteData());
            Assert.True(SPHModel.Votes.Count == 2);

            votes.Add("Level3", new UserVote()
            {
                key = "3333", voteType = "Upvote"
            });

            serialized = JsonConvert.SerializeObject(votes);
            File.WriteAllText(SPHModel.VoteFile, serialized);

            Assert.True(SPHModel.ScanVoteData());
            Assert.True(SPHModel.Votes.Count == 3);
        }
Ejemplo n.º 2
0
        public void InitializeRecords_DataFileNotExist()
        {
            SPHModel.InitializeRecords();

            Assert.False(File.Exists(SPHModel.DataFile));
            Assert.True(SPHModel.Records.Count == 0);
        }
Ejemplo n.º 3
0
        public void ScanVoteData_EmptyData()
        {
            File.WriteAllText(SPHModel.VoteFile, string.Empty);

            Assert.True(SPHModel.ScanVoteData());
            Assert.True(SPHModel.Votes.Count == 0);
        }
Ejemplo n.º 4
0
        public void ScanVoteData_InvalidData()
        {
            File.WriteAllText(SPHModel.VoteFile, "NOT_A_VALID_JSON");

            Assert.False(SPHModel.ScanVoteData());
            Assert.True(SPHModel.Votes.Count == 0);
        }
Ejemplo n.º 5
0
        public static bool Prepare()
        {
            _thumbsUp ??= LoadSpriteFromResource($"SongPlayHistory.Assets.ThumbsUp.png");
            _thumbsDown ??= LoadSpriteFromResource($"SongPlayHistory.Assets.ThumbsDown.png");

            return(SPHModel.ScanVoteData());
        }
Ejemplo n.º 6
0
        public void InitializeRecords_InvalidDataNoBackup()
        {
            File.WriteAllText(SPHModel.DataFile, "NOT_A_VALID_JSON");

            SPHModel.InitializeRecords();

            Assert.True(SPHModel.Records.Count == 0);
        }
Ejemplo n.º 7
0
        public void InitializeRecords_EmptyDataNoBackup()
        {
            File.WriteAllText(SPHModel.DataFile, string.Empty);

            SPHModel.InitializeRecords();

            Assert.True(SPHModel.Records.Count == 0);
        }
Ejemplo n.º 8
0
        public void InitializeRecords_FailToRestoreFromBackup()
        {
            File.WriteAllText(SPHModel.DataFile, string.Empty);

            var backupFile = Path.ChangeExtension(SPHModel.DataFile, ".bak");

            File.WriteAllText(backupFile, string.Empty);

            SPHModel.InitializeRecords();

            Assert.True(SPHModel.Records.Count == 0);
        }
Ejemplo n.º 9
0
        public void BackupRecords_DoNotOverwriteBackup()
        {
            File.WriteAllText(SPHModel.DataFile, string.Empty);

            var records = new Dictionary <string, IList <Record> >();

            records.Add("Level1", new List <Record> {
                new Record()
            });

            var serialized = JsonConvert.SerializeObject(records);
            var backupFile = Path.ChangeExtension(SPHModel.DataFile, ".bak");

            File.WriteAllText(backupFile, serialized);

            SPHModel.BackupRecords();

            Assert.True(new FileInfo(SPHModel.DataFile).Length < new FileInfo(backupFile).Length);
        }
Ejemplo n.º 10
0
        public void InitializeRecords_ReadData()
        {
            var records = new Dictionary <string, IList <Record> >();

            records.Add("Level1", new List <Record> {
                new Record()
            });
            records.Add("Level2", new List <Record> {
                new Record(), new Record()
            });

            var serialized = JsonConvert.SerializeObject(records);

            File.WriteAllText(SPHModel.DataFile, serialized);

            SPHModel.InitializeRecords();

            Assert.True(File.Exists(SPHModel.DataFile));
            Assert.True(SPHModel.Records.Count == 2);
            Assert.True(SPHModel.Records["Level1"].Count == 1);
            Assert.True(SPHModel.Records["Level2"].Count == 2);
        }
Ejemplo n.º 11
0
        public void InitializeRecords_RestoreFromBackup()
        {
            File.WriteAllText(SPHModel.DataFile, "NOT_A_VALID_JSON");

            var records = new Dictionary <string, IList <Record> >();

            records.Add("Level1", new List <Record> {
                new Record()
            });
            records.Add("Level2", new List <Record> {
                new Record(), new Record()
            });

            var serialized = JsonConvert.SerializeObject(records);
            var backupFile = Path.ChangeExtension(SPHModel.DataFile, ".bak");

            File.WriteAllText(backupFile, serialized);

            SPHModel.InitializeRecords();

            Assert.True(File.Exists(backupFile));
            Assert.True(SPHModel.Records.Count == 2);
        }
Ejemplo n.º 12
0
        public void SaveRecordsToFile_WriteData()
        {
            var records = SPHModel.Records = new Dictionary <string, IList <Record> >();

            SPHModel.SaveRecordsToFile();

            Assert.False(File.Exists(SPHModel.DataFile));

            records.Add("Level1", new List <Record> {
                new Record()
            });
            records.Add("Level2", new List <Record> {
                new Record(), new Record()
            });

            SPHModel.SaveRecordsToFile();

            Assert.True(File.Exists(SPHModel.DataFile));

            var text = File.ReadAllText(SPHModel.DataFile);

            Assert.Contains("Level1", text);
            Assert.Contains("Level2", text);
        }
Ejemplo n.º 13
0
 public void ScanVoteData_FileNotExist()
 {
     Assert.False(SPHModel.ScanVoteData());
     Assert.True(SPHModel.Votes.Count == 0);
 }