public void TestSignUp()
        {
            using (DataBaseService dbService = new DataBaseService())
            {
                dbService.SetConfiguration(SetDBConfigurationAndClearDriverInfoTable());

                Assert.IsTrue(dbService.SignUp("Taras", "password"));

                TaxiDriver.Driver driver = new TaxiDriver.Driver("Taras", "password", 0, 0);
                Assert.AreEqual(driver.Name, dbService.Driver.Name);
                Assert.AreEqual(driver.Password, dbService.Driver.Password);
                Assert.AreEqual(driver.TotalScore, dbService.Driver.TotalScore);
                Assert.AreEqual(driver.BestScore, dbService.Driver.BestScore);
                Assert.AreEqual(driver.LastScore, dbService.Driver.LastScore);

                Assert.AreEqual(null, dbService.Message);

                dbService.SignUp("Oleg", "1234");

                string message = "User with such name already exists.";
                Assert.IsFalse(dbService.SignUp("Taras", "password"));
                Assert.AreEqual(dbService.Message, message);
                Assert.AreEqual(null, dbService.Driver);

                Assert.IsFalse(dbService.SignUp("Taras", "hello"));
                Assert.AreEqual(dbService.Message, message);
                Assert.AreEqual(null, dbService.Driver);
            }
        }
 // CONSTRUCTORS
 /// <summary>
 /// Basic constructors without parameters.
 /// </summary>
 public CsvFileService()
 {
     driver            = null;
     message           = null;
     fileConfiguration = null;
     rand = new System.Random();
 }
        private void SaveSomeDriverInfoToDB(DataBaseService dbService)
        {
            dbService.SignUp("Taras", "password");
            dbService.SignUp("Oleg", "1234");
            dbService.SignUp("Petro", "day");


            TaxiDriver.Driver driver = new TaxiDriver.Driver("Oleg", "1234", 0, 0)
            {
                LastScore = 70
            };
            dbService.SaveResult(driver);

            driver = new TaxiDriver.Driver("Taras", "password", 0, 0)
            {
                LastScore = 80
            };

            dbService.SaveResult(driver);

            driver = new TaxiDriver.Driver("Petro", "day", 0, 0)
            {
                LastScore = 120
            };
            dbService.SaveResult(driver);

            driver = new TaxiDriver.Driver("Taras", "password", 0, 0)
            {
                LastScore = 110
            };
            dbService.SaveResult(driver);
        }
Exemple #4
0
        public void TestSignUp()
        {
            System.IO.File.Create(Configuration.DRIVER_FILE_PATH).Close();

            SetCsvFileService();

            Assert.IsTrue(csvFileService.SignUp("Taras", "password"));

            TaxiDriver.Driver driver = new TaxiDriver.Driver("Taras", "password", 0, 0);
            Assert.IsTrue(driver.Name == csvFileService.Driver.Name &&
                          driver.Password == csvFileService.Driver.Password &&
                          driver.TotalScore == csvFileService.Driver.TotalScore &&
                          driver.BestScore == csvFileService.Driver.BestScore &&
                          driver.LastScore == csvFileService.Driver.LastScore);
            Assert.AreEqual(null, csvFileService.Message);

            csvFileService.SignUp("Oleg", "1234");

            string message = "User with such name already exists.";

            Assert.IsFalse(csvFileService.SignUp("Taras", "password"));
            Assert.IsTrue(csvFileService.Message == message);
            Assert.AreEqual(null, csvFileService.Driver);

            Assert.IsFalse(csvFileService.SignUp("Taras", "hello"));
            Assert.IsTrue(csvFileService.Message == message);
            Assert.AreEqual(null, csvFileService.Driver);

            csvFileService.SignUp("Oleg", "1234");
            csvFileService.SignUp("Petro", "day");
            csvFileService.SignUp("Oleg", "1234");
        }
        /// <summary>
        /// Logs in driver by his name and password.
        /// </summary>
        /// <param name="name">Driver name.</param>
        /// <param name="password">Driver password.</param>
        /// <returns>
        /// True if driver was logged in, else - false.
        /// </returns>
        /// <exception cref="FileNotFoundException">
        /// Thrown when file with drivers wasn`t found.
        /// </exception>
        /// <exception cref="System.ArgumentNullException">
        /// Thrown when file configuration is null.
        /// </exception>
        public bool LogIn(string name, string password)
        {
            CheckFileConfiguration();

            SetNullToDriverAndMessage();

            name     = name.Trim();
            password = password.Trim();

            using (StreamReader streamReader = new StreamReader(fileConfiguration.DriverFile))
            {
                string[] line;
                while (!streamReader.EndOfStream)
                {
                    line = streamReader.ReadLine().Split(';');
                    if (line[0] == name)
                    {
                        if (line[1] == password)
                        {
                            driver = new TaxiDriver.Driver(name, password, 0, 0);
                            SetDriverTotalAndBestScore();
                            return(true);
                        }
                        else
                        {
                            message = "The password is incorrect.";
                            return(false);
                        }
                    }
                }
            }
            message = "The name is incorrect.";
            return(false);
        }
        /// <summary>
        /// Signs up driver by his name and password.
        /// </summary>
        /// <param name="name">Driver name.</param>
        /// <param name="password">Driver password.</param>
        /// <returns>
        /// True if driver was signed up, else - false.
        /// </returns>
        /// <exception cref="FileNotFoundException">
        /// Thrown when file with drivers wasn`t found.
        /// </exception>
        /// <exception cref="System.ArgumentNullException">
        /// Thrown when file configuration is null.
        /// </exception>
        public bool SignUp(string name, string password)
        {
            CheckFileConfiguration();

            SetNullToDriverAndMessage();

            name     = name.Trim();
            password = password.Trim();

            using (StreamReader streamReader = new StreamReader(fileConfiguration.DriverFile))
            {
                string line = string.Empty;
                while (!streamReader.EndOfStream)
                {
                    line = streamReader.ReadLine();
                    if (line.Split(';')[0] == name)
                    {
                        message = "User with such name already exists.";
                        return(false);
                    }
                }
            }

            driver = new TaxiDriver.Driver(name, password, 0, 0);
            File.AppendAllText(fileConfiguration.DriverFile, $"{name};{password}\n");
            return(true);
        }
Exemple #7
0
        public void TestLogIn()
        {
            System.IO.File.Create(Configuration.SCORE_FILE_PATH).Close();

            SetCsvFileService();

            // Test line in the middle of the file.
            Assert.IsTrue(csvFileService.LogIn("Oleg", "1234"));

            TaxiDriver.Driver driver = new TaxiDriver.Driver("Oleg", "1234", 0, 0);
            Assert.IsTrue(driver.Name == csvFileService.Driver.Name &&
                          driver.Password == csvFileService.Driver.Password &&
                          driver.TotalScore == csvFileService.Driver.TotalScore &&
                          driver.BestScore == csvFileService.Driver.BestScore &&
                          driver.LastScore == csvFileService.Driver.LastScore);
            Assert.AreEqual(null, csvFileService.Message);

            string message = "The password is incorrect.";

            Assert.IsFalse(csvFileService.LogIn("Oleg", "world"));
            Assert.IsTrue(csvFileService.Message == message);
            Assert.AreEqual(null, csvFileService.Driver);

            message = "The name is incorrect.";
            Assert.IsFalse(csvFileService.LogIn("Vasyl", "1234"));
            Assert.IsTrue(csvFileService.Message == message);
            Assert.AreEqual(null, csvFileService.Driver);

            Assert.IsFalse(csvFileService.LogIn("Vasyl", "goodday"));
            Assert.IsTrue(csvFileService.Message == message);
            Assert.AreEqual(null, csvFileService.Driver);

            // Test line in the end of the file.
            Assert.IsTrue(csvFileService.LogIn("Petro", "day"));

            driver = new TaxiDriver.Driver("Petro", "day", 0, 0);
            Assert.IsTrue(driver.Name == csvFileService.Driver.Name &&
                          driver.Password == csvFileService.Driver.Password &&
                          driver.TotalScore == csvFileService.Driver.TotalScore &&
                          driver.BestScore == csvFileService.Driver.BestScore &&
                          driver.LastScore == csvFileService.Driver.LastScore);
            Assert.AreEqual(null, csvFileService.Message);

            message = "The password is incorrect.";
            Assert.IsFalse(csvFileService.LogIn("Petro", "world"));
            Assert.IsTrue(csvFileService.Message == message);
            Assert.AreEqual(null, csvFileService.Driver);

            message = "The name is incorrect.";
            Assert.IsFalse(csvFileService.LogIn("Vasyl", "day"));
            Assert.IsTrue(csvFileService.Message == message);
            Assert.AreEqual(null, csvFileService.Driver);

            Assert.IsFalse(csvFileService.LogIn("Vasyl", "goodday"));
            Assert.IsTrue(csvFileService.Message == message);
            Assert.AreEqual(null, csvFileService.Driver);
        }
Exemple #8
0
        public void TestSaveResult()
        {
            System.IO.File.Create(Configuration.SCORE_FILE_PATH).Close();

            SetCsvFileService();

            TaxiDriver.Driver driver = new TaxiDriver.Driver("Oleg", "1234", 0, 0)
            {
                LastScore = 70
            };
            csvFileService.SaveResult(driver);

            driver = new TaxiDriver.Driver("Taras", "password", 0, 0)
            {
                LastScore = 80
            };

            csvFileService.SaveResult(driver);

            driver = new TaxiDriver.Driver("Petro", "day", 0, 0)
            {
                LastScore = 120
            };
            csvFileService.SaveResult(driver);

            driver = new TaxiDriver.Driver("Taras", "password", 0, 0)
            {
                LastScore = 110
            };
            csvFileService.SaveResult(driver);

            csvFileService.LogIn("Taras", "password");

            driver = new TaxiDriver.Driver("Taras", "password", 110, 80)
            {
                LastScore = 110
            };


            Assert.IsTrue(driver.Name == csvFileService.Driver.Name &&
                          driver.Password == csvFileService.Driver.Password &&
                          driver.TotalScore == csvFileService.Driver.TotalScore &&
                          driver.BestScore == csvFileService.Driver.BestScore &&
                          driver.LastScore == csvFileService.Driver.LastScore);
        }
        public void TestSaveResult()
        {
            using (DataBaseService dbService = new DataBaseService())
            {
                dbService.SetConfiguration(SetDBConfigurationAndClearScoreAndDriverInfoTable());

                SaveSomeDriverInfoToDB(dbService);

                // Logs in for checking the current driver scores.
                dbService.LogIn("Taras", "password");

                TaxiDriver.Driver driver = new TaxiDriver.Driver("Taras", "password", 110, 80)
                {
                    LastScore = 110
                };

                Assert.AreEqual(driver.Name, dbService.Driver.Name);
                Assert.AreEqual(driver.Password, dbService.Driver.Password);
                Assert.AreEqual(driver.TotalScore, dbService.Driver.TotalScore);
                Assert.AreEqual(driver.BestScore, dbService.Driver.BestScore);
                Assert.AreEqual(driver.LastScore, dbService.Driver.LastScore);
            }
        }
        public void TestLogIn()
        {
            using (DataBaseService dbService = new DataBaseService())
            {
                dbService.SetConfiguration(SetDBConfigurationAndClearDriverInfoTable());

                dbService.SignUp("Taras", "password");
                dbService.SignUp("Oleg", "1234");
                dbService.SignUp("Petro", "day");


                // Test note in the middle of the database.
                Assert.IsTrue(dbService.LogIn("Oleg", "1234"));
                TaxiDriver.Driver driver = new TaxiDriver.Driver("Oleg", "1234", 0, 0);
                Assert.AreEqual(driver.Name, dbService.Driver.Name);
                Assert.AreEqual(driver.Password, dbService.Driver.Password);
                Assert.AreEqual(driver.TotalScore, dbService.Driver.TotalScore);
                Assert.AreEqual(driver.BestScore, dbService.Driver.BestScore);
                Assert.AreEqual(driver.LastScore, dbService.Driver.LastScore);
                Assert.AreEqual(null, dbService.Message);

                string message = "The password is incorrect.";
                Assert.IsFalse(dbService.LogIn("Oleg", "world"));
                Assert.AreEqual(dbService.Message, message);
                Assert.AreEqual(null, dbService.Driver);

                message = "The name is incorrect.";
                Assert.IsFalse(dbService.LogIn("Vasyl", "1234"));
                Assert.AreEqual(dbService.Message, message);
                Assert.AreEqual(null, dbService.Driver);

                Assert.IsFalse(dbService.LogIn("Vasyl", "goodday"));
                Assert.AreEqual(dbService.Message, message);
                Assert.AreEqual(null, dbService.Driver);

                // Test note in the end of the database.
                Assert.IsTrue(dbService.LogIn("Petro", "day"));

                driver = new TaxiDriver.Driver("Petro", "day", 0, 0);
                Assert.AreEqual(driver.Name, dbService.Driver.Name);
                Assert.AreEqual(driver.Password, dbService.Driver.Password);
                Assert.AreEqual(driver.TotalScore, dbService.Driver.TotalScore);
                Assert.AreEqual(driver.BestScore, dbService.Driver.BestScore);
                Assert.AreEqual(driver.LastScore, dbService.Driver.LastScore);
                Assert.AreEqual(null, dbService.Message);
                Assert.AreEqual(null, dbService.Message);

                message = "The password is incorrect.";
                Assert.IsFalse(dbService.LogIn("Petro", "world"));
                Assert.AreEqual(dbService.Message, message);
                Assert.AreEqual(null, dbService.Driver);

                message = "The name is incorrect.";
                Assert.IsFalse(dbService.LogIn("Vasyl", "day"));
                Assert.AreEqual(dbService.Message, message);
                Assert.AreEqual(null, dbService.Driver);

                Assert.IsFalse(dbService.LogIn("Vasyl", "goodday"));
                Assert.AreEqual(dbService.Message, message);
                Assert.AreEqual(null, dbService.Driver);
            }
        }
 // METHODS
 private void SetNullToDriverAndMessage()
 {
     driver  = null;
     message = null;
 }
        /// <summary>
        /// Saves driver result to some file.
        /// </summary>
        /// <param name="driver">Current driver.</param>
        /// <exception cref="FileNotFoundException">
        /// Thrown when file with scores wasn`t found.
        /// </exception>
        /// <exception cref="System.ArgumentNullException">
        /// Thrown when file configuration is null.
        /// </exception>
        public void SaveResult(TaxiDriver.Driver driver)
        {
            CheckFileConfiguration();

            File.AppendAllText(fileConfiguration.ScoreFile, $"{driver.Name};{driver.LastScore}\n");
        }