internal void PrepareOutputParameter_Works(Mock <MetadataBuilder> builder, TestClass model, ParameterDirection direction, OracleUdtInfo info, Mock <MetadataOracleObject <TestClass> > metadataObject, int startNumber, string query, OracleParameter oracleParameter) { builder.Setup(b => b.GetOrRegisterMetadataOracleObject <TestClass>(info)) .Returns(metadataObject.Object); metadataObject.Setup(m => m.GetRefCursorQuery(startNumber, null)) .Returns(query) .Verifiable(); metadataObject.Setup(b => b.GetOracleParameterForRefCursor(startNumber)) .Returns(oracleParameter) .Verifiable(); var param = new ParamObject <TestClass>(model, direction, info); param.LoadObjectMetadata(builder.Object); var actual = param.PrepareOutputParameter(startNumber); metadataObject.Verify(); Assert.NotNull(actual); Assert.Equal(param, actual.Parameter); Assert.Equal(query, actual.OutputString); Assert.Equal(oracleParameter, actual.OracleParameter); }
internal void LoadObjectMetadata_Works(Mock <MetadataBuilder> builder, TestClass model, ParameterDirection direction, OracleUdtInfo info, MetadataOracleObject <TestClass> metadataObject) { builder.Setup(b => b.GetOrRegisterMetadataOracleObject <TestClass>(info)) .Returns(metadataObject) .Verifiable(); var param = new ParamObject <TestClass>(model, direction, info); param.LoadObjectMetadata(builder.Object); builder.Verify(); Assert.True(param.MetadataLoaded); }
internal void GetOracleParameters_Works(Mock <MetadataBuilder> builder, TestClass model, ParameterDirection direction, OracleUdtInfo info, Mock <MetadataOracleObject <TestClass> > metadataObject, OracleParameter[] parameters, int startNumber) { builder.Setup(b => b.GetOrRegisterMetadataOracleObject <TestClass>(info)) .Returns(metadataObject.Object); metadataObject.Setup(b => b.GetOracleParameters(model, startNumber)) .Returns(parameters) .Verifiable(); var param = new ParamObject <TestClass>(model, direction, info); param.LoadObjectMetadata(builder.Object); var actual = param.GetOracleParameters(startNumber); metadataObject.Verify(); Assert.Equal(parameters, actual); }
internal void BuildQueryConstructorString_Works(Mock <MetadataBuilder> builder, TestClass model, ParameterDirection direction, OracleUdtInfo info, Mock <MetadataOracleObject <TestClass> > metadataObject, int lastNumber, string constructor, string name, int startNumber) { builder.Setup(b => b.GetOrRegisterMetadataOracleObject <TestClass>(info)) .Returns(metadataObject.Object); metadataObject.Setup(b => b.BuildQueryConstructorString(model, name, startNumber)) .Returns((constructor, lastNumber)) .Verifiable(); var param = new ParamObject <TestClass>(model, direction, info); param.LoadObjectMetadata(builder.Object); param.SetParameterName(name); var actual = param.BuildQueryConstructorString(startNumber); metadataObject.Verify(); Assert.Equal((constructor, lastNumber), actual); }
internal void SetParameterName_Works(Mock <MetadataBuilder> builder, TestClass model, ParameterDirection direction, OracleUdtInfo info, Mock <MetadataOracleObject <TestClass> > metadataObject, string name, string line) { builder.Setup(b => b.GetOrRegisterMetadataOracleObject <TestClass>(info)) .Returns(metadataObject.Object); metadataObject.Setup(b => b.GetDeclareLine(typeof(TestClass), name, metadataObject.Object.OracleTypeNetMetadata.UDTInfo)) .Returns(line) .Verifiable(); var param = new ParamObject <TestClass>(model, direction, info); param.LoadObjectMetadata(builder.Object); param.SetParameterName(name); var result = param.GetDeclareLine(); metadataObject.Verify(); }
internal void SetOutputValue_Works(Mock <MetadataBuilder> builder, TestClass model, ParameterDirection direction, OracleUdtInfo info, Mock <MetadataOracleObject <TestClass> > metadataObject) { var refCursor = FormatterServices.GetUninitializedObject( typeof(OracleRefCursor)); builder.Setup(b => b.GetOrRegisterMetadataOracleObject <TestClass>(info)) .Returns(metadataObject.Object); metadataObject.Setup(b => b.GetValueFromRefCursor(typeof(TestClass), It.IsAny <OracleRefCursorWrapper>())) .Returns(model) .Verifiable(); var param = new ParamObject <TestClass>(model, direction, info); param.LoadObjectMetadata(builder.Object); param.SetOutputValue(refCursor); metadataObject.Verify(); Assert.Equal(model, param.Value); }