public void CrateXmlRepositoryDefault()
        {
            var playerController = new PlayerXmlRepository();

            Assert.NotNull(playerController.GetPlayers());
            Assert.IsEmpty(playerController.GetPlayers().ToList());
        }
        private string GetDefaultPathName()
        {
            var playerController = new PlayerXmlRepository();

            this.RemovePlayerFile(playerController.PathToFile);
            return(playerController.PathToFile);
        }
        public void DefaultPathFileIsSet()
        {
            var playerController = new PlayerXmlRepository();

            Assert.NotNull(playerController.PathToFile);
            Assert.IsNotEmpty(playerController.PathToFile);
        }
        private void AddDefaultPlayerToReposiotyCreator(PlayerXmlRepository playerController)
        {
            var player = new Player {
                Name = "testName", LastName = "testLastName"
            };

            playerController.Add(player);
        }
 public PlayerFullListModelView()
 {
     this.playersRepository = PlayerRepository.XmlReposiotry;
     this.playersRepository.GetPlayers();
     this.SetPlayerObservableCollection();
     this.GameTypes        = new ObservableCollection <AbstractGameType>(GameTypesFactory.GameTypes());
     this.SelectedGameType = this.GameTypes[0];
 }
        public void AddPlayerTest()
        {
            var playerController = new PlayerXmlRepository();

            this.AddDefaultPlayerToReposiotyCreator(playerController);

            Assert.AreEqual(1, playerController.GetPlayers().Count);
        }
        public void LoadFromValidPathTest()
        {
            const string fileName = "test.xml";

            this.CreatePlayerFile(fileName);
            var playerController = new PlayerXmlRepository(fileName);

            Assert.AreEqual(playerController.GetPlayers().Count, 1);
            this.RemovePlayerFile(fileName);
        }
        public void LoadFromDefaultPathTest()
        {
            var fileName = this.GetDefaultPathName();

            this.CreatePlayerFile(fileName);
            var playerController = new PlayerXmlRepository(fileName);

            Assert.AreEqual(playerController.GetPlayers().Count, 1);
            this.RemovePlayerFile(fileName);
        }
        public void RemovePlayerByIdTest()
        {
            var playerController = new PlayerXmlRepository();

            this.AddDefaultPlayerToReposiotyCreator(playerController);

            var player = playerController.GetPlayers().First();

            playerController.Remove(player.Id);
            Assert.AreEqual(playerController.GetPlayers().Count, 0);
        }
        public void AddPlayerIdTest()
        {
            var player = new Player {
                Name = "testName", LastName = "testLastName"
            };
            var playerController = new PlayerXmlRepository();

            playerController.Add(player);

            Assert.AreEqual(0, player.Id);
        }
        public void TestIfNotExistingFileIsCreatedOnLoading()
        {
            var playerController = new PlayerXmlRepository();
            var pathToFile       = playerController.PathToFile;

            this.RemovePlayerFile(pathToFile);

            Assert.IsFalse(File.Exists(pathToFile));
            playerController.GetPlayers();
            Assert.IsTrue(File.Exists(pathToFile));

            this.RemovePlayerFile(pathToFile);
        }
        public void LoadEmptyFileTest()
        {
            var playerController = new PlayerXmlRepository();
            var pathToFile       = playerController.PathToFile;

            this.RemovePlayerFile(pathToFile);
            using (File.Create(pathToFile))
            {
                ;
            }

            Assert.That(() => playerController.GetPlayers(), Throws.TypeOf <InvalidOperationException>());
            this.RemovePlayerFile(pathToFile);
        }
        public void AddTwiceTheSamePlayerIdTest()
        {
            var player = new Player {
                Name = "testName", LastName = "testLastName"
            };
            var playerController = new PlayerXmlRepository();

            playerController.Add(player);

            Assert.AreEqual(player.Id, 0);

            playerController.Add(player);
            Assert.AreEqual(player.Id, 1);
        }
        public void SaveFromDefaultPathTest()
        {
            var player = new Player {
                Name = "testName", LastName = "testLastName"
            };
            var playerController = new PlayerXmlRepository();

            playerController.Add(player);

            playerController.SavePlayers();

            Assert.IsTrue(File.Exists(playerController.PathToFile));

            this.RemovePlayerFile(playerController.PathToFile);
        }
        public void SaveFromValidPathTest()
        {
            var player = new Player {
                Name = "testName", LastName = "testLastName"
            };
            const string fileName         = "test.xml";
            var          playerController = new PlayerXmlRepository(fileName);

            playerController.Add(player);

            playerController.SavePlayers();

            Assert.IsTrue(File.Exists(fileName));

            this.RemovePlayerFile(fileName);
        }
        public void SaveWithDifferentThanGiventInConstructorPathTest()
        {
            var player = new Player {
                Name = "testName", LastName = "testLastName"
            };
            const string fileName         = "test.xml";
            var          playerController = new PlayerXmlRepository(fileName);

            playerController.Add(player);

            const string fileName2 = "test.xml";

            playerController.SavePlayers(fileName2);

            Assert.IsTrue(File.Exists(fileName2));

            this.RemovePlayerFile(fileName2);
            this.RemovePlayerFile(fileName);
        }
        public void CheckIfLoadFunctionIsCalledOnFirstGet()
        {
            var playerController = new PlayerXmlRepository();

            Assert.NotNull(playerController.GetPlayers());
        }
        public void AddNullPlayerTestShouldThrowException()
        {
            var playerController = new PlayerXmlRepository();

            Assert.That(() => playerController.Add(null), Throws.TypeOf <NullReferenceException>());
        }