@@ -290,6 +290,183 @@ public void Test_MySQL_FetchData_Entity_Strict_Error_Check()
290290
291291 #endregion
292292
293+ #region Execute Scalar Tests - << string ExecuteScalar(string sqlStatement); >>
294+
295+ [ TestMethod ]
296+ [ TestCategory ( DB_TESTS ) , TestCategory ( MYSQL_TESTS ) ]
297+ public void Test_MySQL_ExecuteScalar_As_StringReturn_Scalar_Queries ( )
298+ {
299+ var countOfRecords = Queries . MySQLQueries . TestDB . ScalarQueries . Count_Of_Records ;
300+ var max = Queries . MySQLQueries . TestDB . ScalarQueries . Max ;
301+ var min = Queries . MySQLQueries . TestDB . ScalarQueries . Min ;
302+ var sum = Queries . MySQLQueries . TestDB . ScalarQueries . Sum ;
303+ var avg = Queries . MySQLQueries . TestDB . ScalarQueries . Avg ;
304+ var singleValueSelect = Queries . MySQLQueries . TestDB . ScalarQueries . Single_Value_Select ;
305+
306+ var dbContext = new DBContext ( DB . MySQL , MySQLConnectionString ) ;
307+
308+ var count = dbContext . ExecuteScalar ( countOfRecords ) ;
309+ Assert . AreEqual ( "12" , count ) ;
310+ var maxValue = dbContext . ExecuteScalar ( max ) ;
311+ Assert . AreEqual ( "10000.00" , maxValue ) ;
312+ var minValue = dbContext . ExecuteScalar ( min ) ;
313+ Assert . AreEqual ( "3000.00" , minValue ) ;
314+ var sumValue = dbContext . ExecuteScalar ( sum ) ;
315+ Assert . AreEqual ( "161000.00" , sumValue ) ;
316+ var avgValue = dbContext . ExecuteScalar ( avg ) ;
317+ Assert . AreEqual ( "6520.000000" , avgValue ) ;
318+ var singleValue = dbContext . ExecuteScalar ( singleValueSelect ) ;
319+ Assert . AreEqual ( "2" , singleValue ) ;
320+ }
321+
322+ [ TestMethod ]
323+ [ TestCategory ( DB_TESTS ) , TestCategory ( MYSQL_TESTS ) ]
324+ public void Test_MySQL_ExecuteScalar_As_StringReturn_DefaultValue ( )
325+ {
326+ var noValueReturned = Queries . MySQLQueries . TestDB . ScalarQueries . No_Value_Returned ;
327+ var dBNullValue = Queries . MySQLQueries . TestDB . ScalarQueries . DB_Null_Value ;
328+
329+ var dbContext = new DBContext ( DB . MySQL , MySQLConnectionString ) ;
330+
331+ var result = dbContext . ExecuteScalar ( noValueReturned ) ;
332+ Assert . IsInstanceOfType < string > ( result ) ;
333+ Assert . AreEqual ( "" , result ) ;
334+
335+ result = dbContext . ExecuteScalar ( dBNullValue ) ;
336+ Assert . IsInstanceOfType < string > ( result ) ;
337+ Assert . AreEqual ( string . Empty , result ) ;
338+ }
339+
340+ #endregion
341+
342+ #region Execute Scalar Tests - << T ExecuteScalar<T>(string sqlStatement); >>
343+
344+ [ TestMethod ]
345+ [ TestCategory ( DB_TESTS ) , TestCategory ( MYSQL_TESTS ) ]
346+ public void Test_MySQL_ExecuteScalar_As_TypedReturn_Scalar_Queries ( )
347+ {
348+ var countOfRecords = Queries . MySQLQueries . TestDB . ScalarQueries . Count_Of_Records ;
349+ var max = Queries . MySQLQueries . TestDB . ScalarQueries . Max ;
350+ var min = Queries . MySQLQueries . TestDB . ScalarQueries . Min ;
351+ var sum = Queries . MySQLQueries . TestDB . ScalarQueries . Sum ;
352+ var avg = Queries . MySQLQueries . TestDB . ScalarQueries . Avg ;
353+ var singleValueSelect = Queries . MySQLQueries . TestDB . ScalarQueries . Single_Value_Select ;
354+
355+ var dbContext = new DBContext ( DB . MySQL , MySQLConnectionString ) ;
356+
357+ var count = dbContext . ExecuteScalar < int > ( countOfRecords ) ;
358+ Assert . AreEqual ( 12 , count ) ;
359+ var maxValue = dbContext . ExecuteScalar < float > ( max ) ;
360+ Assert . AreEqual ( 10000.00 , maxValue ) ;
361+ var minValue = dbContext . ExecuteScalar < float > ( min ) ;
362+ Assert . AreEqual ( 3000.00 , minValue ) ;
363+ var sumValue = dbContext . ExecuteScalar < float > ( sum ) ;
364+ Assert . AreEqual ( 161000.00 , sumValue ) ;
365+ var avgValue = dbContext . ExecuteScalar < decimal > ( avg ) ;
366+ Assert . AreEqual ( ( decimal ) 6520.000000 , avgValue ) ;
367+ var singleValue = dbContext . ExecuteScalar < string > ( singleValueSelect ) ;
368+ Assert . AreEqual ( "2" , singleValue ) ;
369+ }
370+
371+ [ TestMethod ]
372+ [ TestCategory ( DB_TESTS ) , TestCategory ( MYSQL_TESTS ) ]
373+ public void Test_MySQL_ExecuteScalar_As_TypedReturn_DefaultValue ( )
374+ {
375+ var dBNullValue = Queries . MySQLQueries . TestDB . ScalarQueries . DB_Null_Value ;
376+
377+ var dbContext = new DBContext ( DB . MySQL , MySQLConnectionString ) ;
378+
379+ dynamic result = dbContext . ExecuteScalar < int > ( dBNullValue ) ;
380+ Assert . IsInstanceOfType < int > ( result ) ;
381+ Assert . AreEqual ( default ( int ) , result ) ;
382+
383+ result = dbContext . ExecuteScalar < long > ( dBNullValue ) ;
384+ Assert . IsInstanceOfType < long > ( result ) ;
385+ Assert . AreEqual ( default ( long ) , result ) ;
386+
387+ result = dbContext . ExecuteScalar < short > ( dBNullValue ) ;
388+ Assert . IsInstanceOfType < short > ( result ) ;
389+ Assert . AreEqual ( default ( short ) , result ) ;
390+
391+ result = dbContext . ExecuteScalar < uint > ( dBNullValue ) ;
392+ Assert . IsInstanceOfType < uint > ( result ) ;
393+ Assert . AreEqual ( default ( uint ) , result ) ;
394+
395+ result = dbContext . ExecuteScalar < ulong > ( dBNullValue ) ;
396+ Assert . IsInstanceOfType < ulong > ( result ) ;
397+ Assert . AreEqual ( default ( ulong ) , result ) ;
398+
399+ result = dbContext . ExecuteScalar < ushort > ( dBNullValue ) ;
400+ Assert . IsInstanceOfType < ushort > ( result ) ;
401+ Assert . AreEqual ( default ( ushort ) , result ) ;
402+
403+ result = dbContext . ExecuteScalar < decimal > ( dBNullValue ) ;
404+ Assert . IsInstanceOfType < decimal > ( result ) ;
405+ Assert . AreEqual ( default ( decimal ) , result ) ;
406+
407+ result = dbContext . ExecuteScalar < double > ( dBNullValue ) ;
408+ Assert . IsInstanceOfType < double > ( result ) ;
409+ Assert . AreEqual ( default ( double ) , result ) ;
410+
411+ result = dbContext . ExecuteScalar < float > ( dBNullValue ) ;
412+ Assert . IsInstanceOfType < float > ( result ) ;
413+ Assert . AreEqual ( default ( float ) , result ) ;
414+
415+ result = dbContext . ExecuteScalar < byte > ( dBNullValue ) ;
416+ Assert . IsInstanceOfType < byte > ( result ) ;
417+ Assert . AreEqual ( default ( byte ) , result ) ;
418+
419+ result = dbContext . ExecuteScalar < bool > ( dBNullValue ) ;
420+ Assert . IsInstanceOfType < bool > ( result ) ;
421+ Assert . AreEqual ( default ( bool ) , result ) ;
422+
423+ result = dbContext . ExecuteScalar < DateTime > ( dBNullValue ) ;
424+ Assert . IsInstanceOfType < DateTime > ( result ) ;
425+ Assert . AreEqual ( default ( DateTime ) , result ) ;
426+
427+ result = dbContext . ExecuteScalar < Guid > ( dBNullValue ) ;
428+ Assert . IsInstanceOfType < Guid > ( result ) ;
429+ Assert . AreEqual ( default ( Guid ) , result ) ;
430+
431+ result = dbContext . ExecuteScalar < string > ( dBNullValue ) ;
432+ Assert . IsNull ( result ) ;
433+ Assert . AreEqual ( default ( string ) , result ) ;
434+
435+ result = dbContext . ExecuteScalar < int ? > ( dBNullValue ) ;
436+ Assert . IsNull ( result ) ;
437+ Assert . AreEqual ( default ( int ? ) , result ) ;
438+
439+ result = dbContext . ExecuteScalar < long ? > ( dBNullValue ) ;
440+ Assert . IsNull ( result ) ;
441+ Assert . AreEqual ( default ( long ? ) , result ) ;
442+
443+ result = dbContext . ExecuteScalar < short ? > ( dBNullValue ) ;
444+ Assert . IsNull ( result ) ;
445+ Assert . AreEqual ( default ( short ? ) , result ) ;
446+
447+ result = dbContext . ExecuteScalar < decimal ? > ( dBNullValue ) ;
448+ Assert . IsNull ( result ) ;
449+ Assert . AreEqual ( default ( decimal ? ) , result ) ;
450+
451+ result = dbContext . ExecuteScalar < double ? > ( dBNullValue ) ;
452+ Assert . IsNull ( result ) ;
453+ Assert . AreEqual ( default ( double ? ) , result ) ;
454+
455+ result = dbContext . ExecuteScalar < float ? > ( dBNullValue ) ;
456+ Assert . IsNull ( result ) ;
457+ Assert . AreEqual ( default ( float ? ) , result ) ;
458+
459+ result = dbContext . ExecuteScalar < bool ? > ( dBNullValue ) ;
460+ Assert . IsNull ( result ) ;
461+ Assert . AreEqual ( default ( bool ? ) , result ) ;
462+
463+ result = dbContext . ExecuteScalar < DateTime ? > ( dBNullValue ) ;
464+ Assert . IsNull ( result ) ;
465+ Assert . AreEqual ( default ( DateTime ? ) , result ) ;
466+ }
467+
468+ #endregion
469+
293470 #region Execute Command Tests - << int ExecuteCommand(string sqlStatement) >>
294471
295472 [ TestMethod ]
@@ -347,7 +524,7 @@ public void Test_MySQL_ExecuteCommand_DML_Queries()
347524 var insertSql = Queries . MySQLQueries . TestDB . DML . InsertSql ;
348525 var updateSql = Queries . MySQLQueries . TestDB . DML . UpdateSql ;
349526 var deleteSql = Queries . MySQLQueries . TestDB . DML . DeleteSql ;
350- var verifyDMLExecution = Queries . MSSQLQueries . TestDB . DML . VerifyDMLExecution ;
527+ var verifyDMLExecution = Queries . MySQLQueries . TestDB . DML . VerifyDMLExecution ;
351528
352529 var dbContext = new DBContext ( DB . MySQL , MySQLConnectionString ) ;
353530
0 commit comments