public void CurrentIsVisibleAccrossThreads() { var sqlCharacters = new TestSqlCharacters(); SqlCharacters actual = null; var handle = new AutoResetEvent(false); var thread1 = new Thread(() => { SqlCharacters.Current = sqlCharacters; handle.Set(); }); var thread2 = new Thread(() => { actual = SqlCharacters.Current; handle.Set(); }); thread1.Start(); handle.WaitOne(); thread2.Start(); handle.WaitOne(); thread1.Abort(); thread2.Abort(); Assert.Same(sqlCharacters, actual); }
public void CurrentReturnsSpecifiedSqlCharactersIfSet() { var sqlCharacters = new TestSqlCharacters(); SqlCharacters.Current = sqlCharacters; Assert.Same(sqlCharacters, SqlCharacters.Current); }
public void CurrentIsVisibleAccrossTasks() { var sqlCharacters = new TestSqlCharacters(); SqlCharacters.Current = sqlCharacters; SqlCharacters actual = null; System.Threading.Tasks.Task.Factory.StartNew( () => actual = SqlCharacters.Current, System.Threading.Tasks.TaskCreationOptions.LongRunning).Wait(); Assert.Same(sqlCharacters, actual); }
public void CurrentIsVisibleAccrossThreadPools() { var sqlCharacters = new TestSqlCharacters(); SqlCharacters.Current = sqlCharacters; SqlCharacters actual = null; var handle = new ManualResetEvent(false); ThreadPool.QueueUserWorkItem(_ => { actual = SqlCharacters.Current; handle.Set(); }); handle.WaitOne(); Assert.Same(sqlCharacters, actual); }
public void IsEscapedReturnsFalseIfNull() { var sqlCharacters = new TestSqlCharacters(); Assert.False(sqlCharacters.IsEscaped(null)); }
public void IsEscapedReturnsFalseIfNotEscapedWithCorrectDelimiters() { var sqlCharacters = new TestSqlCharacters(); Assert.False(sqlCharacters.IsEscaped("Name")); }
public void IsEscapedReturnsFalseIfEmpty() { var sqlCharacters = new TestSqlCharacters(); Assert.False(sqlCharacters.IsEscaped(string.Empty)); }
public void GetParameterNameReturnsCorrectValue() { var sqlCharacters = new TestSqlCharacters(); Assert.Equal("#p0", sqlCharacters.GetParameterName(0)); }
public void EscapeSqlExcapesValueIfNotAlreadyEscaped() { var sqlCharacters = new TestSqlCharacters(); Assert.Equal("~Name~", sqlCharacters.EscapeSql("Name")); }
public void EscapeSqlExcapesQualifiedValueIfNotAlreadyEscaped() { var sqlCharacters = new TestSqlCharacters(); Assert.Equal("~Table~.~Name~", sqlCharacters.EscapeSql("Table.Name")); }
public void IsEscapedReturnsTrueIfEscapedWithCorrectDelimiters() { var sqlCharacters = new TestSqlCharacters(); Assert.True(sqlCharacters.IsEscaped("~Name~")); }
public void EscapeSqlDoesNotExcapeValueIfAlreadyEscaped() { var sqlCharacters = new TestSqlCharacters(); Assert.Equal("~Name~", sqlCharacters.EscapeSql("~Name~")); }