示例#1
0
        public void SetPath_Test_WithPath_Success()
        {
            var fileSystem = new RpsFileSystem(Path.Combine(_path, "Set Path"));

            Assert.True(Directory.Exists(fileSystem.PathToSaveFile));

            Directory.Delete(fileSystem.PathToSaveFile, true);
        }
示例#2
0
 public RockPaperScissors(IConfiguration config, RpsFileSystem fileSystem)
 {
     _config        = config;
     _fileSystem    = fileSystem;
     _users         = (List <RpsUserData>)_fileSystem.Load();
     _usersActiveVs = new List <RpsUserData>();
     VersusTimer();
 }
示例#3
0
        public void SetPath_Test_NoPath_Success()
        {
            var fileSystem = new RpsFileSystem();

            Assert.True(Directory.Exists(fileSystem.PathToSaveFile));

            Directory.Delete(fileSystem.PathToSaveFile, true);
        }
示例#4
0
        public void Load_Test_Fail()
        {
            var fileSystem = new RpsFileSystem(Path.Combine(_path, "Load Fail"));

            List <RpsUserData> users = fileSystem.Load().Cast <RpsUserData>().ToList();

            Assert.True(File.Exists(Path.Combine(fileSystem.PathToSaveFile, "fail.xml")));
            Assert.Empty(users);
        }
示例#5
0
        public void Load_Test_SingleFile_Success()
        {
            var fileSystem = new RpsFileSystem(Path.Combine(_path, "Load"));

            List <RpsUserData> users = fileSystem.Load().Cast <RpsUserData>().ToList();

            Assert.True(File.Exists(Path.Combine(fileSystem.PathToSaveFile, "123456789.xml")));
            Assert.Equal(2, users.Count);
            EqualUser1(users[0]);
            EqualUser2(users[1]);
        }
示例#6
0
        private Tuple <RpsFileSystem, string> SetUpSaveFileTests()
        {
            var fileSystem =
                new RpsFileSystem(Path.Combine(_path, "Save"));
            string file = Path.Combine(fileSystem.PathToSaveFile, "987654321.xml");

            if (File.Exists(file))
            {
                File.Delete(file);
            }

            return(new Tuple <RpsFileSystem, string>(fileSystem, file));
        }
示例#7
0
        private Tuple <RpsFileSystem, string> SetUpCopyOfFileTests(string folderName)
        {
            var srcFile    = Path.Combine(_path, "Load", "123456789.xml");
            var updatePath = Path.Combine(_path, folderName);

            if (Directory.Exists(updatePath))
            {
                Directory.Delete(updatePath, true);
            }
            var fileSystem = new RpsFileSystem(updatePath);

            File.Copy(srcFile, Path.Combine(fileSystem.PathToSaveFile, "123456789.xml"));
            var file = Path.Combine(_path, folderName, "123456789.xml");

            return(new Tuple <RpsFileSystem, string>(fileSystem, file));
        }
示例#8
0
        public RockPaperScissorsTests()
        {
            var config = new Mock <IConfiguration>();

            config.SetupGet(x => x[It.Is <string>(y => y == "Images:RPS:Win")]).Returns("win.png");
            config.SetupGet(x => x[It.Is <string>(y => y == "Images:RPS:Lose")]).Returns("lose.png");
            config.SetupGet(x => x[It.Is <string>(y => y == "Images:RPS:Draw")]).Returns("draw.png");

            _fileSystem = new RpsFileSystem(Path.Combine(Directory.GetCurrentDirectory(), "Test Files", GetType().Name));
            _rps        = new RockPaperScissors(config.Object, _fileSystem);
            if (!File.Exists(Path.Join(_fileSystem.PathToSaveFile, GetType().Name + DefaultGuildId + ".xml")))
            {
                return;
            }

            File.Delete(Path.Join(_fileSystem.PathToSaveFile, GetType().Name + DefaultGuildId + ".xml"));
            _fileSystem = new RpsFileSystem(Path.Combine(Directory.GetCurrentDirectory(), "Test Files", GetType().Name));
            _rps        = new RockPaperScissors(config.Object, _fileSystem);
        }
示例#9
0
        public void Load_Test_MultipleFilesWithOneWorking_Success()
        {
            var fileSystem = new RpsFileSystem(Path.Combine(_path, "Load"));
            var file1      = Path.Combine(fileSystem.PathToSaveFile, "123456789.xml");
            var file2      = Path.Combine(fileSystem.PathToSaveFile, "987654321.txt");

            if (File.Exists(file2))
            {
                File.Delete(file2);
            }
            File.Copy(file1, file2);
            List <RpsUserData> users = fileSystem.Load().Cast <RpsUserData>().ToList();

            Assert.True(File.Exists(file1));
            Assert.True(File.Exists(file2));
            Assert.Equal(2, users.Count);
            EqualUser1(users[0], guildId: 123456789);
            EqualUser2(users[1], guildId: 123456789);

            File.Delete(file2);
        }