示例#1
0
 public RockPaperScissors(IConfiguration config, RpsFileSystem fileSystem)
 {
     _config        = config;
     _fileSystem    = fileSystem;
     _users         = (List <RpsUserData>)_fileSystem.Load();
     _usersActiveVs = new List <RpsUserData>();
     VersusTimer();
 }
示例#2
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);
        }
示例#3
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]);
        }
示例#4
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);
        }
示例#5
0
        public void PlayVsBot_Test_Win()
        {
            RpsPlayData player = CreatePlayer("r");

            _rps.Play(player, null, RpsActors.Scissors);
            RpsUserData user = (RpsUserData)_fileSystem.Load().ElementAt(0);

            Equal(user, 345678912, 1, 1, 1, ratio: 100, currentStreak: 1, rockChosen: 1, coins: 1);

            DeleteFile(player.GuildId + ".xml");
        }