Ejemplo n.º 1
0
        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);
        }
Ejemplo n.º 2
0
        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);
        }
Ejemplo n.º 3
0
        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);
        }
Ejemplo n.º 4
0
        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);
        }
Ejemplo n.º 5
0
        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();
        }
Ejemplo n.º 6
0
        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);
        }