public void AddLanguage() { // Arrange Language lang = new Language(); lang.CountryCode = "USA"; lang.IsOfficial = false; lang.Name = "Wakandian"; lang.Percentage = 5; ILanguageDAO dao = new LanguageSqlDAO(ConnectionString); // Act int beforeRowCount = GetRowCount("countrylanguage"); bool result = dao.AddNewLanguage(lang); // Assert Assert.IsTrue(result); ICollection <Language> allUSLanguages = dao.GetLanguages("USA"); CollectionAssert.Contains((ICollection)allUSLanguages, lang); Assert.AreEqual(beforeRowCount + 1, GetRowCount("countrylanguage")); }
static void Main(string[] args) { // Select all countries //GetAllCountries(); // Get a count of all countries //GetCountryCount(); // Select cities that belong to a country code //GetCitiesForCountryCode("USA"); //Console.ReadKey(); //return; // TODO: Un-comment the Configuration builder and place the connection string in appsettings.json //IConfigurationBuilder builder = new ConfigurationBuilder() // .SetBasePath(Directory.GetCurrentDirectory()) // .AddJsonFile("appsettings.json", optional: true, reloadOnChange: true); //IConfigurationRoot configuration = builder.Build(); //string connectionString = configuration.GetConnectionString("World"); ICityDAO cityDAO = new CitySqlDAO(connectionString); ICountryDAO countryDAO = new CountrySqlDAO(connectionString); ILanguageDAO languageDAO = new LanguageSqlDAO(connectionString); WorldGeographyCLI cli = new WorldGeographyCLI(cityDAO, countryDAO, languageDAO); cli.RunCLI(); }
public void GetLanguageByCountryCode() { // Arrange LanguageSqlDAO languageSqlDAO = new LanguageSqlDAO(connectionString); // Act IList <Language> languages = languageSqlDAO.GetLanguages(countryCodeToTest); // Assert Assert.IsTrue(languages.Count > 0); }
static void Main(string[] args) { ICityDAO cityDAO = new CitySqlDAO(@"Server=.\SQLEXPRESS;Database=World;Trusted_Connection=True;"); ICountryDAO countryDAO = new CountrySqlDAO(@"Server=.\SQLExpress;Database=World;Trusted_Connection=True;"); ILanguageDAO languageDAO = new LanguageSqlDAO(@"Server=.\SQLEXPRESS;Database=World;Trusted_Connection=True;"); WorldGeographyCLI cli = new WorldGeographyCLI(cityDAO, countryDAO, languageDAO); cli.RunCLI(); }
public void AddLanguage_FailsBecauseLanguageExists() { //ARRANGE ILanguageDAO dao = new LanguageSqlDAO(ConnectionString); ICollection <Language> allUSLanguages = dao.GetLanguages("USA"); //ACT Language dup = allUSLanguages.ToArray()[0]; dao.AddNewLanguage(dup); }
public void GetLanguagesTest(string countryCode, int expectedCount) { // Arrange LanguageSqlDAO dal = new LanguageSqlDAO(ConnectionString); // Act IList <Language> languages = dal.GetLanguages(countryCode); // Assert Assert.AreEqual(expectedCount, languages.Count); }
public void GetLanguageBySpecificCountryCode(string countryCode, int expectedCount) { // Arrange LanguageSqlDAO languageSqlDAO = new LanguageSqlDAO(ConnectionString); // Act IList <Language> languages = languageSqlDAO.GetLanguages(countryCode); // Assert Assert.AreEqual(expectedCount, languages.Count); }
public void GetLanguagesTest(string continent, int expectedNumberOfRows) { // Arrange LanguageSqlDAO dao = new LanguageSqlDAO(ConnectionString); // Act IList <Language> languages = dao.GetLanguages(continent); // Assert Assert.AreEqual(expectedNumberOfRows, languages.Count); }
public void TestMethod1() { // Arrange LanguageSqlDAO dao = new LanguageSqlDAO(connectionString); // Act IList <Language> list = dao.GetLanguages("ZZZ"); IList <Language> list2 = dao.GetLanguages("AAA"); // Assert Assert.AreEqual(1, list.Count); Assert.AreEqual(0, list2.Count); }
public void AddLanguage_FailsBecauseLanguageExists() { // Arrange ILanguageDAO dao = new LanguageSqlDAO(ConnectionString); ICollection <Language> allUSLanguages = dao.GetLanguages("USA"); Language dup = allUSLanguages.ToArray()[0]; //dup.Name = "something else"; the PK is the language and the countrycode so if we change the name, then it doesn't have a pk dup // Act dao.AddNewLanguage(dup); // Assert // SqlException is expected to be thrown }
public void RemoveLanguage() { // Arrange ILanguageDAO dao = new LanguageSqlDAO(ConnectionString); ICollection <Language> allUSLanguages = dao.GetLanguages("USA"); Language lang = allUSLanguages.ToArray()[0]; // Act int beforeRowCount = GetRowCount("countrylanguage"); bool result = dao.RemoveLanguage(lang); // Assert Assert.IsTrue(result); Assert.AreEqual(beforeRowCount - 1, GetRowCount("countrylanguage")); }
public void AddLanguage_FailsBecauseLanguageExists() { // Arrange LanguageSqlDAO dal = new LanguageSqlDAO(ConnectionString); Language language = new Language() { CountryCode = "USA", Name = "Test Language", //already exists IsOfficial = true, Percentage = 80 }; // Act dal.AddNewLanguage(language); }
public void AddLanguageDuplicateTest() { // Arrange LanguageSqlDAO languageSqlDAO = new LanguageSqlDAO(ConnectionString); Language language = new Language { CountryCode = newCountryCode, Name = "Elvish", IsOfficial = true, Percentage = 5 }; // Assert Assert.IsTrue(languageSqlDAO.AddNewLanguage(language)); }
public void AddLanguage() { // Arrange Language lang = new Language(); lang.CountryCode = "USA"; lang.IsOfficial = false; lang.Name = "miaw"; lang.Percentage = 5; ILanguageDAO dao = new LanguageSqlDAO(ConnectionString); // Act bool result = dao.AddNewLanguage(lang); // Assert Assert.IsTrue(result); }
static void Main(string[] args) { IConfigurationBuilder builder = new ConfigurationBuilder() .SetBasePath(Directory.GetCurrentDirectory()) .AddJsonFile("appsettings.json", optional: true, reloadOnChange: true); IConfigurationRoot configuration = builder.Build(); string connectionString = configuration.GetConnectionString("World"); ICityDAO cityDAO = new CitySqlDAO(connectionString); ICountryDAO countryDAO = new CountrySqlDAO(connectionString); ILanguageDAO languageDAO = new LanguageSqlDAO(connectionString); WorldGeographyCLI cli = new WorldGeographyCLI(cityDAO, countryDAO, languageDAO); cli.RunCLI(); }
public void AddLanguageDuplicateTest() { // Arrange LanguageSqlDAO languageSqlDAO = new LanguageSqlDAO(connectionString); Language language = new Language { CountryCode = countryCodeToTest, Name = languageToTest, IsOfficial = true, Percentage = 5 }; // Act bool didItWork = languageSqlDAO.AddNewLanguage(language); // Assert Assert.IsFalse(didItWork); }
public void AddLanguage_FailsBecauseLanguageExists() { // Arrange LanguageSqlDAO languageDAO = new LanguageSqlDAO(ConnectionString); int initialRowCount = GetRowCount("countrylanguage"); Language lang = new Language(); lang.CountryCode = "USA"; lang.Name = "Test Language"; lang.IsOfficial = true; lang.Percentage = 50; // Act languageDAO.AddNewLanguage(lang); // Assert // should not work }
static void Main(string[] args) { //IConfigurationBuilder builder = new ConfigurationBuilder() // .SetBasePath(Directory.GetCurrentDirectory()) // .AddJsonFile("appsettings.json", optional: true, reloadOnChange: true); //IConfigurationRoot configuration = builder.Build(); //string connectionString = configuration.GetConnectionString("World"); ICityDAO cityDAO = new CitySqlDAO(@"Server=.\SQLEXPRESS;Database=World;Trusted_Connection=True;"); ICountryDAO countryDAO = new CountrySqlDAO(@"Server=.\SQLEXPRESS;Database=World;Trusted_Connection=True;"); ILanguageDAO languageDAO = new LanguageSqlDAO(@"Server=.\SQLEXPRESS;Database=World;Trusted_Connection=True;"); WorldGeographyCLI cli = new WorldGeographyCLI(cityDAO, countryDAO, languageDAO); cli.RunCLI(); }
static void Main(string[] args) { IConfigurationBuilder builder = new ConfigurationBuilder(); builder.AddJsonFile("appsettings.json", optional: true, reloadOnChange: true); IConfigurationRoot configuration = builder.Build(); string connectionString = configuration.GetConnectionString("World"); ICityDAO cityDAO = new CitySqlDAO(connectionString); ICountryDAO countryDAO = new CountrySqlDAO(connectionString); ILanguageDAO languageDAO = new LanguageSqlDAO(connectionString); WorldDBMenu menu = new WorldDBMenu(cityDAO, countryDAO, languageDAO); menu.Run(); Console.ForegroundColor = ConsoleColor.DarkRed; Console.Write("Goodbye..."); Thread.Sleep(1500); }
public void RemoveLanguage() { // Arrange LanguageSqlDAO languageDAO = new LanguageSqlDAO(ConnectionString); int initialRowCount = GetRowCount("countrylanguage"); Language lang = new Language(); lang.CountryCode = "USA"; lang.Name = "Test Language"; lang.IsOfficial = true; lang.Percentage = 50; // Act languageDAO.RemoveLanguage(lang); int finalRowCount = GetRowCount("countrylanguage"); // Assert Assert.AreEqual(initialRowCount - 1, finalRowCount); }
static void Main(string[] args) { // Use this as is, it will allow you access to the data in appsettings.json file IConfigurationBuilder builder = new ConfigurationBuilder() .SetBasePath(Directory.GetCurrentDirectory()) .AddJsonFile("appsettings.json", optional: true, reloadOnChange: true); IConfigurationRoot configuration = builder.Build(); // Replace world with the key name used for your connection string in the appsettings.json file string connectionString = configuration.GetConnectionString("World"); ICityDAO cityDAO = new CitySqlDAO(connectionString); ICountryDAO countryDAO = null; ILanguageDAO languageDAO = new LanguageSqlDAO(connectionString); WorldGeographyCLI cli = new WorldGeographyCLI(cityDAO, countryDAO, languageDAO); cli.RunCLI(); }
public void TestUpdateLanguage() { //Arrange ILanguageDAO dao = new LanguageSqlDAO(ConnectionString); ICollection <Language> allUSLanguages = dao.GetLanguages("USA"); Language lang = allUSLanguages.ToArray()[0]; lang.Percentage = 50; //Act bool result = dao.UpdateLanguage(lang); //Assert Assert.IsTrue(result); Assert.AreEqual(50, lang.Percentage);//this is NOT checkign the DAO ICollection <Language> updatedLanguages = dao.GetLanguages("USA"); CollectionAssert.Contains((ICollection)updatedLanguages, lang); }
public void RemoveLanguage() { // Arrange LanguageSqlDAO dao = new LanguageSqlDAO(ConnectionString); // Act Language language = new Language(); language.Name = "Test Language"; language.CountryCode = "USA"; int rowsBefore = GetRowCount("countrylanguage"); bool isSuccessful = dao.RemoveLanguage(language); int rowsAfter = GetRowCount("countrylanguage"); // Assert int countChange = rowsAfter - rowsBefore; Assert.AreEqual(-1, countChange, "wrong number of rows after deletion"); Assert.IsTrue(isSuccessful, "returned wrong bool value"); }
public void RemoveLanguage() { // Arrange LanguageSqlDAO dal = new LanguageSqlDAO(ConnectionString); int initialRowCount = GetRowCount("countrylanguage"); Language language = new Language() { CountryCode = "USA", Name = "Test Language", IsOfficial = true, Percentage = 80 }; // Act dal.RemoveLanguage(language); // Assert int finalRowCount = GetRowCount("countrylanguage"); Assert.AreEqual(initialRowCount - 1, finalRowCount); }
static void Main(string[] args) { // TODO: This is how we load a configuration file and get the connection string IConfigurationBuilder builder = new ConfigurationBuilder(); builder.AddJsonFile("appsettings.json", optional: true, reloadOnChange: true); IConfigurationRoot configuration = builder.Build(); string connectionString = configuration.GetConnectionString("World"); // TODO: This gets a custom value from the Config file bool useFileDAO = configuration.GetSection("DAO").GetValue <bool>("UseFileDAO", false); // TODO: Here, the Main method creates instances of DAOs which will be "injected" into the menu (CLI). ICityDAO cityDAO; ICountryDAO countryDAO; ILanguageDAO languageDAO; if (useFileDAO) { // TODO: This is a COMPLETELY different set of DAOs which implement the SAME interfaces cityDAO = new CityFileDAO(@"..\..\..\City_Data.txt"); countryDAO = new CountryFileDAO(@"..\..\..\Country_Data.txt"); languageDAO = new LanguageFileDAO(@"..\..\..\Language_Data.txt"); } else { cityDAO = new CitySqlDAO(connectionString); countryDAO = new CountrySqlDAO(connectionString); languageDAO = new LanguageSqlDAO(connectionString); } // TODO: Here, we create the menu, and "inject" the DAOs we want to use WorldDBMenu menu = new WorldDBMenu(cityDAO, countryDAO, languageDAO); menu.Run(); Console.ForegroundColor = ConsoleColor.DarkRed; Console.Write("Goodbye..."); Thread.Sleep(1500); }
public void RemoveLanguage() { // Arrange ILanguageDAO dao = new LanguageSqlDAO(ConnectionString); Language lang = new Language(); lang.CountryCode = "USA"; lang.IsOfficial = false; lang.Name = "miaw"; lang.Percentage = 5; // Act bool result = dao.RemoveLanguage(lang); int beforeRowCount = GetRowCount("countrylanguage"); // Assert Assert.IsTrue(result); //remove me Assert.AreEqual(beforeRowCount - 1, GetRowCount("countrylanguage")); }
public void GetLanguagesTest(string countryCode, int expectedCount) { // Arrange ILanguageDAO dao = new LanguageSqlDAO(ConnectionString); //Act IList <Language> list = dao.GetLanguages(countryCode); //Assert Assert.AreEqual(expectedCount, list.Count); /* Not using DataRow attributes * // Act * IList<Language> list = dao.GetLanguages("USA"); * // Assert * Assert.AreEqual(1, list.Count); * list = dao.GetLanguages("XYZ"); * // Assert * Assert.AreEqual(0, list.Count); */ }
static void Main(string[] args) { // The code in the region reads "appsettings" so that the connection string can: // 1) be in one place in the code // 2) can be modified in the bin/debug.netcoreapp2.1 folder without having to // change and recompile the program #region Get Configuration String IConfigurationBuilder builder = new ConfigurationBuilder() .SetBasePath(Directory.GetCurrentDirectory()) .AddJsonFile("appsettings.json", optional: true, reloadOnChange: true); IConfigurationRoot configuration = builder.Build(); string connectionString = configuration.GetConnectionString("World"); #endregion ICityDAO cityDAO = new CitySqlDAO(connectionString); ICountryDAO countryDAO = new CountrySqlDAO(connectionString); ILanguageDAO languageDAO = new LanguageSqlDAO(connectionString); WorldGeographyCLI cli = new WorldGeographyCLI(cityDAO, countryDAO, languageDAO); cli.RunCLI(); }
public void Test_RemoveLanguage_Result_and_Count() { //Arrange LanguageSqlDAO dao = new LanguageSqlDAO(ConnectionString); Language language = new Language(); language.CountryCode = "USA"; language.Name = "C#"; language.IsOfficial = false; dao.AddNewLanguage(language); int beforeDeleteCount = GetRowCount("countrylanguage"); //Action bool result = dao.RemoveLanguage(language); int afterDeleteCount = GetRowCount("countrylanguage"); //Assert Assert.IsTrue(result, "RemoveLanguage returned false"); Assert.AreEqual(beforeDeleteCount - 1, afterDeleteCount, "Row count did not decrease."); }
public void AddLanguageHappyTest() { // Arrange LanguageSqlDAO languageSqlDAO = new LanguageSqlDAO(ConnectionString); IList <Language> allLanguages = languageSqlDAO.GetLanguages(newCountryCode); foreach (Language foo in allLanguages) { if (foo.Name.Equals("Klingon")) { Assert.IsTrue(false); } } Language language = new Language { CountryCode = newCountryCode, Name = "Klingon", IsOfficial = true, Percentage = 5 }; // Assert Assert.IsTrue(languageSqlDAO.AddNewLanguage(language)); }