Mercurial > pub > bltoolkit
diff UnitTests/CS/Data/ExecuteScalarTest.cs @ 0:f990fcb411a9
Копия текущей версии из github
author | cin |
---|---|
date | Thu, 27 Mar 2014 21:46:09 +0400 |
parents | |
children |
line wrap: on
line diff
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/UnitTests/CS/Data/ExecuteScalarTest.cs Thu Mar 27 21:46:09 2014 +0400 @@ -0,0 +1,233 @@ +using System; + +using NUnit.Framework; + +using BLToolkit.Data; + +namespace Data +{ + [TestFixture] + public class ExecuteScalarTest + { + [Test] + public void RegressionTest() + { + using (var db = new DbManager()) + { + var expectedValue = 12345; + var actualValue = db.MappingSchema.ConvertToInt32( + db +#if SQLITE || SQLCE + .SetCommand("SELECT 12345") +#else + .SetSpCommand("Scalar_DataReader") +#endif + .ExecuteScalar()); + + Assert.AreEqual(expectedValue, actualValue); + } + } + + [Test] + public void DataReaderTest() + { + using (var db = new DbManager()) + { + var expectedValue = 12345; + var actualValue = db.MappingSchema.ConvertToInt32( + db +#if SQLITE || SQLCE + .SetCommand("SELECT 12345") +#else + .SetSpCommand("Scalar_DataReader") +#endif + .ExecuteScalar(ScalarSourceType.DataReader)); + + Assert.AreEqual(expectedValue, actualValue); + } + } + + [Test] + public void DataReader2Test() + { + using (var db = new DbManager()) + { + var expectedValue = "54321"; + var actualValue = db.MappingSchema.ConvertToString( + db +#if SQLITE || SQLCE + .SetCommand("SELECT 12345, '54321'") +#else + .SetSpCommand("Scalar_DataReader") +#endif + .ExecuteScalar(ScalarSourceType.DataReader, 1)); + + Assert.AreEqual(expectedValue, actualValue); + } + } + + [Test] + public void DataReader3Test() + { + using (var db = new DbManager()) + { + var expectedValue = "54321"; + var actualValue = db.MappingSchema.ConvertToString( + db +#if SQLITE || SQLCE + .SetCommand("SELECT 12345 intField, '54321' stringField") +#else + .SetSpCommand("Scalar_DataReader") +#endif + .ExecuteScalar(ScalarSourceType.DataReader, "stringField")); + + Assert.AreEqual(expectedValue, actualValue); + } + } + +#if !ACCESS && !SQLITE && !SQLCE + [Test] + public void OutputParameterTest() + { + using (var db = new DbManager()) + { + var expectedValue = 12345; + var actualValue = db.MappingSchema.ConvertToInt32(db + .SetSpCommand("Scalar_OutputParameter") + .ExecuteScalar(ScalarSourceType.OutputParameter)); + + Assert.AreEqual(expectedValue, actualValue); + } + } + + [Test] + public void OutputParameter2Test() + { + using (var db = new DbManager()) + { + var expectedValue = "54321"; + var actualValue = db.MappingSchema.ConvertToString(db + .SetSpCommand("Scalar_OutputParameter") + .ExecuteScalar(ScalarSourceType.OutputParameter, 1)); + + Assert.AreEqual(expectedValue, actualValue); + } + } + + [Test] + public void OutputParameter3Test() + { + using (var db = new DbManager()) + { + var expectedValue = "54321"; + var actualValue = db.MappingSchema.ConvertToString(db + .SetSpCommand("Scalar_OutputParameter") + .ExecuteScalar(ScalarSourceType.OutputParameter, "outputString")); + + Assert.AreEqual(expectedValue, actualValue); + } + } + + [Test] + public void ReturnParameterTest() + { + using (var db = new DbManager()) + { + var expectedValue = 12345; + var actualValue = db.MappingSchema.ConvertToInt32(db + .SetSpCommand("Scalar_ReturnParameter") + .ExecuteScalar(ScalarSourceType.ReturnValue)); + + Assert.AreEqual(expectedValue, actualValue); + } + } +#endif + + [Test] + public void AffectedRowsTest() + { + using (var db = new DbManager()) + { +#if ACCESS || SQLITE + var expectedValue = 0; +#else + var expectedValue = -1; +#endif + var actualValue = db.MappingSchema.ConvertToInt32( + db +#if SQLITE || SQLCE + .SetCommand("SELECT 12345") +#else + .SetSpCommand("Scalar_DataReader") +#endif + .ExecuteScalar(ScalarSourceType.AffectedRows)); + + Assert.AreEqual(expectedValue, actualValue); + } + } + + [Test] + public void GenericsRegressionTest() + { + using (var db = new DbManager()) + { + var expectedValue = 12345; + var actualValue = db +#if SQLITE || SQLCE + .SetCommand("SELECT 12345") +#else + .SetSpCommand("Scalar_DataReader") +#endif + .ExecuteScalar<int>(); + + Assert.AreEqual(expectedValue, actualValue); + } + } + + [Test] + public void GenericsDataReaderTest() + { + using (var db = new DbManager()) + { + var expectedValue = 12345; + var actualValue = db +#if SQLITE || SQLCE + .SetCommand("SELECT 12345") +#else + .SetSpCommand("Scalar_DataReader") +#endif + .ExecuteScalar<int>(ScalarSourceType.DataReader); + + Assert.AreEqual(expectedValue, actualValue); + } + } + + [Test] + public void GenericsDataReader2Test() + { + using (var db = new DbManager()) + { + var expectedValue = "54321"; + var actualValue = db +#if SQLITE || SQLCE + .SetCommand("SELECT 12345, '54321'") +#else + .SetSpCommand("Scalar_DataReader") +#endif + .ExecuteScalar<string>(ScalarSourceType.DataReader, 1); + + Assert.AreEqual(expectedValue, actualValue); + } + } + + [Test] + public void NoResult() + { + using (var db = new DbManager()) + { + var actualValue = db.SetCommand("SELECT FirstName FROM Person WHERE PersonID = -1").ExecuteScalar<string>(); + Assert.AreEqual("", actualValue); + } + } + } +}