init
This commit is contained in:
126
DataPRO/UnitTest/DatabaseUnitTesting/SensorsDigitalInTests.cs
Normal file
126
DataPRO/UnitTest/DatabaseUnitTesting/SensorsDigitalInTests.cs
Normal file
@@ -0,0 +1,126 @@
|
||||
using System;
|
||||
using System.Data.SqlClient;
|
||||
using NUnit.Framework;
|
||||
using System.Data;
|
||||
|
||||
|
||||
namespace DatabaseUnitTesting
|
||||
{
|
||||
[TestFixture]
|
||||
public class SensorsDigitalInUnitTests : TestSetups
|
||||
{
|
||||
|
||||
[Test]
|
||||
// ============================================================
|
||||
// Send new valid digital in sensor parameters to sp_SensorsDigitalInUpdateInsert and
|
||||
// compare all fields except LastModified and new ID. Pass if all fields in SensorsDigitalIn
|
||||
// table are entered.
|
||||
// ============================================================
|
||||
[Category("sp_SensorsDigitalInUpdateInsert")]
|
||||
public void VerifyWriteToDigitalInTable_sp_SensorsDigitalInUpdateInsertTest()
|
||||
{
|
||||
string filename = TestResultPath + "DigitalInSensorInsertTest.xml";
|
||||
// only data in SensorsDigitalIn table will be compared
|
||||
UnitTests.AddObjectComparison("dbo", "SensorsDigitalIn");
|
||||
// But the LastModified column is excluded from comparison,
|
||||
// just to demonstrate how we do it.
|
||||
UnitTests.AddColumnToIgnore("dbo", "SensorsDigitalIn", "LastModified");
|
||||
UnitTests.AddColumnToIgnore("dbo", "SensorsDigitalIn", "Id");
|
||||
Command.CommandType = CommandType.StoredProcedure;
|
||||
Command.CommandText = "sp_SensorsDigitalInUpdateInsert";
|
||||
|
||||
Command.Parameters.Add(new SqlParameter("@SerialNumber", SqlDbType.NVarChar) { Value = "DigiInSerialNum" });
|
||||
Command.Parameters.Add(new SqlParameter("@SettingMode", SqlDbType.Int) { Value = 8 });
|
||||
Command.Parameters.Add(new SqlParameter("@ScaleMultiplier", SqlDbType.NVarChar) { Value = "ArbitraryHighAndLow,1,2" });
|
||||
Command.Parameters.Add(new SqlParameter("@LastModified", SqlDbType.DateTime) { Value = DateTime.Now });
|
||||
Command.Parameters.Add(new SqlParameter("@LastModifiedBy", SqlDbType.NVarChar) { Value = "TestUser" });
|
||||
Command.Parameters.Add(new SqlParameter("@eId", SqlDbType.NVarChar) { Value = "EID" });
|
||||
Command.Parameters.Add(new SqlParameter("@UserValue1", SqlDbType.NVarChar) { Value = "" });
|
||||
Command.Parameters.Add(new SqlParameter("@UserValue2", SqlDbType.NVarChar) { Value = "" });
|
||||
Command.Parameters.Add(new SqlParameter("@UserValue3", SqlDbType.NVarChar) { Value = "" });
|
||||
Command.Parameters.Add(new SqlParameter("@UserTags", SqlDbType.VarBinary) { Value = new byte[10 * sizeof(int)] });
|
||||
|
||||
var newIdParam = new SqlParameter("@new_id", System.Data.SqlDbType.Int) { Direction = System.Data.ParameterDirection.Output };
|
||||
Command.Parameters.Add(newIdParam);
|
||||
var errorNumberParam = new SqlParameter("@errorNumber", System.Data.SqlDbType.Int) { Direction = System.Data.ParameterDirection.Output };
|
||||
Command.Parameters.Add(errorNumberParam);
|
||||
var errorMessageParam = new SqlParameter("@errorMessage", System.Data.SqlDbType.NVarChar, 250) { Direction = System.Data.ParameterDirection.Output };
|
||||
Command.Parameters.Add(errorMessageParam);
|
||||
|
||||
Command.ExecuteNonQuery();
|
||||
if (BSETUPMODE)
|
||||
UnitTests.WriteDiffsToXml(filename);
|
||||
else
|
||||
Assert.IsTrue(UnitTests.CompareDiffsToXml(filename));
|
||||
}
|
||||
|
||||
|
||||
[Test]
|
||||
// ============================================================
|
||||
// Send valid digital in sensor parameters to sp_SensorsDigitalInUpdateInsert for a sensor
|
||||
// already in the database and compare all fields except LastModified and new ID.
|
||||
// Pass if all fields in SensorsDigitalIn table are entered.
|
||||
// ============================================================
|
||||
[Category("sp_SensorsDigitalInUpdateInsert")]
|
||||
public void VerifyUpdateToDigitalIn_sp_SensorsDigitalInUpdateInsertTest()
|
||||
{
|
||||
string filename = TestResultPath + "DigitalInSensorUpdateTest.xml";
|
||||
// only data in SensorsDigitalIn table will be compared
|
||||
UnitTests.AddObjectComparison("dbo", "SensorsDigitalIn");
|
||||
// But the LastModified column is excluded from comparison,
|
||||
// just to demonstrate how we do it.
|
||||
UnitTests.AddColumnToIgnore("dbo", "SensorsDigitalIn", "LastModified");
|
||||
UnitTests.AddColumnToIgnore("dbo", "SensorsDigitalIn", "Id");
|
||||
|
||||
//SqlCommand command = connection.CreateCommand();
|
||||
//command.Transaction = transaction;
|
||||
Command.CommandType = CommandType.StoredProcedure;
|
||||
Command.CommandText = "sp_SensorsDigitalInUpdateInsert";
|
||||
|
||||
Command.Parameters.Add(new SqlParameter("@SerialNumber", SqlDbType.NVarChar) { Value = "DigiInSerialNum" });
|
||||
Command.Parameters.Add(new SqlParameter("@SettingMode", SqlDbType.Int) { Value = 8 });
|
||||
Command.Parameters.Add(new SqlParameter("@ScaleMultiplier", SqlDbType.NVarChar) { Value = "ArbitraryHighAndLow,1,2" });
|
||||
Command.Parameters.Add(new SqlParameter("@LastModified", SqlDbType.DateTime) { Value = DateTime.Now });
|
||||
Command.Parameters.Add(new SqlParameter("@LastModifiedBy", SqlDbType.NVarChar) { Value = "TestUser" });
|
||||
Command.Parameters.Add(new SqlParameter("@eId", SqlDbType.NVarChar) { Value = "EID" });
|
||||
Command.Parameters.Add(new SqlParameter("@UserValue1", SqlDbType.NVarChar) { Value = "" });
|
||||
Command.Parameters.Add(new SqlParameter("@UserValue2", SqlDbType.NVarChar) { Value = "" });
|
||||
Command.Parameters.Add(new SqlParameter("@UserValue3", SqlDbType.NVarChar) { Value = "" });
|
||||
Command.Parameters.Add(new SqlParameter("@UserTags", SqlDbType.VarBinary) { Value = new byte[10 * sizeof(int)] });
|
||||
|
||||
var newIdParam = new SqlParameter("@new_id", System.Data.SqlDbType.Int) { Direction = System.Data.ParameterDirection.Output };
|
||||
Command.Parameters.Add(newIdParam);
|
||||
var errorNumberParam = new SqlParameter("@errorNumber", System.Data.SqlDbType.Int) { Direction = System.Data.ParameterDirection.Output };
|
||||
Command.Parameters.Add(errorNumberParam);
|
||||
var errorMessageParam = new SqlParameter("@errorMessage", System.Data.SqlDbType.NVarChar, 250) { Direction = System.Data.ParameterDirection.Output };
|
||||
Command.Parameters.Add(errorMessageParam);
|
||||
|
||||
Command.ExecuteNonQuery();
|
||||
|
||||
//Now that the sensor is saved, make a change so "update" is called
|
||||
Command.Parameters[5].Value = "EID_Modified";
|
||||
Command.ExecuteNonQuery();
|
||||
|
||||
|
||||
if (BSETUPMODE)
|
||||
UnitTests.WriteDiffsToXml(filename);
|
||||
else
|
||||
Assert.IsTrue(UnitTests.CompareDiffsToXml(filename));
|
||||
}
|
||||
|
||||
//[Test]
|
||||
// ============================================================
|
||||
// Send valid digital in sensor parameters to sp_SensorsDigitalInUpdateInsert for a sensor
|
||||
// already in the database and verify no new row is created in dbo.Sensors.
|
||||
//
|
||||
// ============================================================
|
||||
|
||||
|
||||
//[Test]
|
||||
// ============================================================
|
||||
// Send valid digital in sensor parameters to sp_SensorsDigitalInUpdateInsert for a new sensor
|
||||
// to be entered into the db and verify a new row is created in dbo.Sensors.
|
||||
//
|
||||
// ============================================================
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user