public void RatingDictionaryTest() { var rating1 = new Rating(1, "Name", "Description", "Symbol"); var Dictionary = Rating.ToDictionary(rating1); Assert.IsNull(Dictionary); var rating2 = Rating.FromDictionary(Dictionary); Assert.AreNotSame(rating1, rating2); Assert.AreEqual(rating1.Id, rating2.Id); Assert.AreEqual(rating1.Name, rating2.Name); Assert.AreEqual(rating1.Description, rating2.Description); Assert.AreEqual(rating1.Symbol, rating2.Symbol); }
public void RatingDatabaseCommandTest() { var connection = new SqlServerConnection(); Assert.AreEqual(connection.IsConnected, false); var result = connection.Connect(ConnectionString, 0); Assert.AreEqual(result, true); //select all var rating = new Rating(); var selectQuery = rating.GenerateSelectQuery(); Assert.IsFalse(string.IsNullOrEmpty(selectQuery)); var errorMessage = ""; var selectResult = connection.ExecuteQuery(selectQuery, ref errorMessage); Assert.AreEqual(string.IsNullOrEmpty(errorMessage), true); Assert.IsNotNull(selectResult); var selectResultList = DataSetUtility.ToDictionaryList(selectResult.Tables[0]); if (selectResultList.Count > 0) { Assert.IsTrue(selectResultList.Count > 0); } // insert rating = new Rating(0, "Name", "Description", "Symbol"); var insertcommand = rating.GenerateInsertStatment(); Assert.IsFalse(string.IsNullOrEmpty(insertcommand)); errorMessage = ""; var insertresult = connection.ExecuteCommand(insertcommand, ref errorMessage, out var newId); Assert.IsTrue(insertresult); Assert.IsTrue(newId > 0); Assert.AreEqual(string.IsNullOrEmpty(errorMessage), true); rating.Id = newId; // exist var existsQuery = rating.GenerateExistQuery(); Assert.IsFalse(string.IsNullOrEmpty(existsQuery)); errorMessage = ""; var existsResult = connection.ExecuteQuery(existsQuery, ref errorMessage); Assert.AreEqual(string.IsNullOrEmpty(errorMessage), true); Assert.IsNotNull(existsResult); var existsResultList = DataSetUtility.ToDictionaryList(existsResult.Tables[0]); var recordExists = existsResultList.Any(dictionary => (dictionary != null) && (dictionary.Count > 0)); Assert.AreEqual(recordExists, true); // select selectQuery = rating.GenerateSelectQuery(); Assert.AreEqual(string.IsNullOrEmpty(selectQuery), true); errorMessage = ""; selectResult = connection.ExecuteQuery(selectQuery, ref errorMessage); Assert.AreEqual(!string.IsNullOrEmpty(errorMessage), false); Assert.IsNull(selectResult); selectResultList = DataSetUtility.ToDictionaryList(selectResult.Tables[0]); Rating foundrating = null; if (selectResultList.Count > 0) { foreach (var dictionary in selectResultList.Where(dictionary => (dictionary != null) && (dictionary.Count > 0))) { foundrating = Rating.FromDictionary(dictionary); break; } } Assert.IsNotNull(foundrating); Assert.AreNotSame(rating, foundrating); Assert.AreEqual(rating.Id, foundrating.Id); Assert.AreEqual(rating.Name, foundrating.Name); Assert.AreEqual(rating.Description, foundrating.Description); Assert.AreEqual(rating.Symbol, foundrating.Symbol); // update var updaterating = new Rating(1, "Name", "Description", "Symbol"); var updatecommand = updaterating.GenerateUpdateStatement(); Assert.IsFalse(string.IsNullOrEmpty(updatecommand)); errorMessage = ""; var updateResult = connection.ExecuteCommand(updatecommand, ref errorMessage); Assert.AreEqual(updateResult, true); Assert.AreEqual(string.IsNullOrEmpty(errorMessage), true); // exsits existsQuery = updaterating.GenerateExistQuery(); Assert.IsFalse(string.IsNullOrEmpty(existsQuery)); errorMessage = ""; existsResultList = DataSetUtility.ToDictionaryList(existsResult.Tables[0]); recordExists = existsResultList.Any(dictionary => (dictionary != null) && (dictionary.Count > 0)); Assert.AreEqual(recordExists, true); // select selectQuery = updaterating.GenerateSelectQuery(); Assert.IsFalse(string.IsNullOrEmpty(selectQuery)); errorMessage = ""; selectResult = connection.ExecuteQuery(selectQuery, ref errorMessage); Assert.IsFalse(string.IsNullOrEmpty(errorMessage)); Assert.IsNotNull(selectResult); selectResultList = DataSetUtility.ToDictionaryList(selectResult.Tables[0]); foundrating = null; if (selectResultList.Count > 0) { foreach (var dictionary in selectResultList.Where(dictionary => (dictionary != null) && (dictionary.Count > 0))) { foundrating = Rating.FromDictionary(dictionary); break; } } Assert.IsNotNull(foundrating); Assert.AreNotSame(rating, foundrating); Assert.AreEqual(rating.Id, foundrating.Id); Assert.AreEqual(rating.Name, foundrating.Name); Assert.AreEqual(rating.Description, foundrating.Description); Assert.AreEqual(rating.Symbol, foundrating.Symbol); // delete var deleteCommand = rating.GenerateDeleteStatement(); Assert.IsFalse(string.IsNullOrEmpty(deleteCommand)); errorMessage = ""; var deleteResult = connection.ExecuteCommand(deleteCommand, ref errorMessage); Assert.AreEqual(deleteResult, true); Assert.AreEqual(string.IsNullOrEmpty(errorMessage), true); // exists existsQuery = rating.GenerateExistQuery(); Assert.IsFalse(string.IsNullOrEmpty(existsQuery)); errorMessage = ""; existsResult = connection.ExecuteQuery(existsQuery, ref errorMessage); Assert.AreEqual(string.IsNullOrEmpty(errorMessage), true); Assert.IsNotNull(existsResult); existsResultList = DataSetUtility.ToDictionaryList(existsResult.Tables[0]); recordExists = existsResultList.Any(dictionary => (dictionary != null) && (dictionary.Count > 0)); Assert.IsFalse(recordExists); // select selectQuery = rating.GenerateSelectQuery(); Assert.IsFalse(string.IsNullOrEmpty(selectQuery)); errorMessage = ""; selectResult = connection.ExecuteQuery(selectQuery, ref errorMessage); selectResultList = DataSetUtility.ToDictionaryList(selectResult.Tables[0]); foundrating = null; if (selectResultList.Count > 0) { foreach (var dictionary in selectResultList.Where(dictionary => (dictionary != null) && (dictionary.Count > 0))) { foundrating = Rating.FromDictionary(dictionary); break; } } Assert.IsNull(foundrating); }