public void Decorate_TxAction_Rollback_Test() { // Arrange TransactionDecorator target = new TransactionDecorator(); ConnectionDecorator cd = new ConnectionDecorator(); cd.DataSource = new TestDataSource(); FieldInfo cdField = target.GetType().GetField( "_connectionDecorator", BindingFlags.NonPublic | BindingFlags.Instance); cdField.SetValue(target, cd); // Act/Assert TestUtils.ExecuteExcectedException <QuillException>( () => { target.Decorate(connection => { throw new QuillException("TestException"); }); }); // Assert Assert.IsFalse(TestTx.IsCalledCommit); Assert.IsTrue(TestTx.IsCalledDispose); Assert.IsTrue(TestTx.IsCalledRollbacked); }
public void Decorate_TxFunc_Test() { // Arrange const int EXPECTED = 12345; TransactionDecorator target = new TransactionDecorator(); ConnectionDecorator cd = new ConnectionDecorator(); cd.DataSource = new TestDataSource(); FieldInfo cdField = target.GetType().GetField( "_connectionDecorator", BindingFlags.NonPublic | BindingFlags.Instance); cdField.SetValue(target, cd); // Act/Assert var actual = target.Decorate(tx => { Assert.IsNotNull(tx); Assert.AreEqual(ConnectionState.Open, tx.Connection.State); return(EXPECTED); }); // Assert Assert.AreEqual(EXPECTED, actual); Assert.IsTrue(TestTx.IsCalledCommit); Assert.IsTrue(TestTx.IsCalledDispose); Assert.IsFalse(TestTx.IsCalledRollbacked); }
public void Decorate_Action_Test() { // Arrange ConnectionDecorator target = new ConnectionDecorator(); target.DataSource = new TestDataSource(); // Act/Assert target.Decorate(connection => { Assert.IsNotNull(connection); Assert.AreEqual(ConnectionState.Open, connection.State); }); }
public void Decorate_MultiDataSource_Default_Test() { // Arrange const string NOT_EXPECTED_DS_NAME = "Hoge"; ConnectionDecorator target = new ConnectionDecorator(); MultiDataSource dataSources = new MultiDataSource(); dataSources.DefaultDataSource = new TestDataSource(); dataSources.RegisterDataSource(NOT_EXPECTED_DS_NAME, new TestDataSource2()); target.DataSource = dataSources; // Act/Assert target.Decorate(TestActionNoAttr); }
public void Decorate_Twice_Test() { // Arrange ConnectionDecorator target = new ConnectionDecorator(); DataSourceImpl ds = new DataSourceImpl(() => new DbConnectionForConnectionDecorator()); target.DataSource = ds; // Act/Assert target.Decorate(connection => { target.Decorate(connection2 => { Assert.AreEqual(ConnectionState.Open, connection2.State); Assert.AreEqual(connection, connection2); }); Assert.AreEqual(ConnectionState.Open, connection.State); }); }
public void Decorate_MultiDataSource_Exception_Test() { // Arrange const string NOT_EXPECTED_DS_NAME = "Huga"; ConnectionDecorator target = new ConnectionDecorator(); MultiDataSource dataSources = new MultiDataSource(); dataSources.RegisterDataSource(NOT_EXPECTED_DS_NAME, new TestDataSource()); target.DataSource = dataSources; var scopeArgs = new Dictionary <string, object>(); scopeArgs[QuillKey.DATA_SOURCE_NAME] = "HogeSource"; // Act/Assert TestUtils.ExecuteExcectedException <ArgumentException>( () => target.Decorate(TestAction, scopeArgs)); }
public void Decorate_Func_Test() { // Arrange const int EXPECTED = 12345; ConnectionDecorator target = new ConnectionDecorator(); target.DataSource = new TestDataSource(); // Act/Assert int result = target.Decorate(conection => { Assert.IsNotNull(conection); Assert.AreEqual(ConnectionState.Open, conection.State); return(EXPECTED); }); Assert.AreEqual(EXPECTED, result); Assert.AreEqual(ConnectionState.Closed, target.DataSource.GetConnection().State); }
public void Decorate_MultiDataSource_Test() { // Arrange const string EXPECTED_DS_NAME = "Hoge"; const string NOT_EXPECTED_DS_NAME = "Huga"; ConnectionDecorator target = new ConnectionDecorator(); MultiDataSource dataSources = new MultiDataSource(); dataSources.RegisterDataSource(EXPECTED_DS_NAME, new TestDataSource2()); dataSources.RegisterDataSource(NOT_EXPECTED_DS_NAME, new TestDataSource()); target.DataSource = dataSources; var scopeArgs = new Dictionary <string, object>(); scopeArgs[QuillKey.DATA_SOURCE_NAME] = EXPECTED_DS_NAME; // Act/Assert target.Decorate(TestAction, scopeArgs); }