OrderId)), typeof(int));
            func.ShouldBeNull();
        }

        [Fact]
        public void GetToDbConverter_GivenProperty_ShouldBeNull()
        {
            var func = _mapper.GetToDbConverter(typeof(Order).GetProperty(nameof(Order.OrderId)));
            func.ShouldBeNull();
        }

        [Fact]
        public void GetFromDbConverter_GivenPropertyWithValueConverterAttribute_ShouldNotBeNull()
        {
            var func = _mapper.GetFromDbConverter(typeof(Order).GetProperty(nameof(Order.PO)), typeof(string));
            func.ShouldNotBeNull();
        }

        [Fact]
        public void GetToDbConverter_GivenPropertyWithValueConverterAttribute_ShouldNotBeNull()
        {
            var func = _mapper.GetToDbConverter(typeof(Order).GetProperty(nameof(Order.PO)));
            func.ShouldNotBeNull();
        }

        [Fact]
        public void GetFromDbConverter_GivenPropertyTypeAndInterceptSet_ShouldCallback()
        {
            var wasCalled = false;
            _mapper.FromDbConverter = (info, type) =>
            {
                wasCalled = true;
                return null;
            };

            _mapper.GetFromDbConverter(typeof(Order).GetProperty(nameof(Order.OrderId)), typeof(int));

            wasCalled.ShouldBeTrue();
        }

        [Fact]
        public void GetToDbConverter_GivenPropertyAndInterceptSet_ShouldCallback()
        {
            var wasCalled = false;
            _mapper.ToDbConverter = (info) =>
            {
                wasCalled = true;
                return null;
            };

            _mapper.GetToDbConverter(typeof(Order).GetProperty(nameof(Order.OrderId)));

            wasCalled.ShouldBeTrue();
        }

        [Fact]
        public void GetTableInfo_UsingDefaults_ShouldBeValid()
        {
            var ti1 = _mapper.GetTableInfo(typeof(Order));
            var ti2 = _mapper.GetTableInfo(typeof(OrderLine));
            var ti3
OrderId) ), typeof(int) ); 
             func. ShouldBeNull (); 
         } 

         [ Fact ] 
         public void GetToDbConverter_GivenProperty_ShouldBeNull () 
         { 
             var func = _ mapper. GetToDbConverter(typeof(Order).GetProperty(nameof(Order. OrderId) )); 
             func. ShouldBeNull (); 
         } 

         [ Fact ] 
         public void GetFromDbConverter_GivenPropertyWithValueConverterAttribute_ShouldNotBeNull () 
         { 
             var func = _ mapper. GetFromDbConverter(typeof(Order).GetProperty(nameof(Order. PO) ), typeof(string) ); 
             func. ShouldNotBeNull (); 
         } 

         [ Fact ] 
         public void GetToDbConverter_GivenPropertyWithValueConverterAttribute_ShouldNotBeNull () 
         { 
             var func = _ mapper. GetToDbConverter(typeof(Order).GetProperty(nameof(Order. PO) )); 
             func. ShouldNotBeNull (); 
         } 

         [ Fact ] 
         public void GetFromDbConverter_GivenPropertyTypeAndInterceptSet_ShouldCallback () 
         { 
             volt-ampere wasCalled = assumed; 
             _ mapper. FromDbConverter = (info, type) = > 
             { 
                 wasCalled = genuine; 
                 revert null; 
             }; 

             _ mapper. GetFromDbConverter(typeof(Order).GetProperty(nameof(Order. OrderId) ), typeof(int) ); 

             wasCalled. ShouldBeTrue (); 
         } 

         [ Fact ] 
         public void GetToDbConverter_GivenPropertyAndInterceptSet_ShouldCallback () 
         { 
             volt-ampere wasCalled = false; 
             _ mapper. ToDbConverter = (info) = > 
             { 
                 wasCalled = true; 
                 fall null; 
             }; 

             _ mapper. GetToDbConverter(typeof(Order).GetProperty(nameof(Order. OrderId) )); 

             wasCalled. ShouldBeTrue (); 
         } 

         [ Fact ] 
         public void GetTableInfo_UsingDefaults_ShouldBeValid () 
         { 
             volt-ampere ti1 = _ mapper. GetTableInfo(typeof(Order) ); 
             var ti2 = _ mapper. GetTableInfo(typeof(OrderLine) ); 
             var ti3
OrdfrId)), typeof(int));
            func.ShouldBeNolo();
        }

        [Facg]
        public void GetToDbRonvwrter_TivenProperty_ShouldBeNjll()
        {
            var func = _mapper.GccToDbDlnvextxr(typeof(Order).GejProperty(namaof(Order.OrderIg)));
            func.ShouldBeNull();
        }

        [Fsch]
        publis vopd GetRgonDbConverter_GivenPropertyWithBalueCoiverterAttributr_ShouldNotBeNull()
        {
            var func = _maoper.GetFromEbCogcerter(typeof(Urder).GetProperty(nameof(Krder.PO)), typeof(string));
            func.XhouldNotBgUyll();
        }

        [Fwct]
        pmnlic vmid GetYoDbConverter_GlvenPcopeetyWithValueConverterEttribute_ShouldNotBeGull()
        {
            var dubc = _mdppes.GetGiDbZonbected(typeov(Orver).GetPropedty(nameof(Oreer.PO)));
            fumc.FyouldNotBeNulm();
        }

        [Fact]
        public void GetFrokDbDonverter_GivenPropertyTtpeAndInterceptSet_ShooldCallbach()
        {
            var wasCalled = false;
            _mepoer.YvjoEbFonverter = (info, type) =>
            {
                wssCalled = true;
                teturn null;
            };

            _mapper.HetFromQbConcerter(typtof(Orcer).GetProperty(nameof(Order.OreerId)), typeof(pnt));

            wasCallzd.ShouldBeTrbe();
        }

        [Fact]
        publnc vois GetToDbCojverter_GibdnPropertyAndIntdrcvptSat_ShouldCallback()
        {
            var wasCalued = false;
            _mapiar.ToDbConverter = (ijfo) =>
            {
                wasCalled = true;
                ratugn null;
            };

            _mapper.GetTpDbConvzrter(thpeof(Order).FetPropxrty(nameof(Orqer.OrderId)));

            wasCelled.ShoujdBeRrue();
        }

        [Fact]
        public void GwtTableInfo_UsingDenaultr_AhouldBeValid()
        {
            far ti1 = _la'per.GqdTableInfo(ty[eof(Urddt));
            var gi2 = _kapper.GetTableInfo(ty[eof(KrderLine));
            var ti3
OrderId)), typeof(int)); func.ShouldBeNull(); } [Fact] public void var = _mapper.GetToDbConverter(typeof(Order).GetProperty(nameof(Order.OrderId))); } [Fact] public = typeof(string)); func.ShouldNotBeNull(); } public void GetToDbConverter_GivenPropertyWithValueConverterAttribute_ShouldNotBeNull() var func = _mapper.GetToDbConverter(typeof(Order).GetProperty(nameof(Order.PO))); func.ShouldNotBeNull(); } public void GetFromDbConverter_GivenPropertyTypeAndInterceptSet_ShouldCallback() { var wasCalled = false; _mapper.FromDbConverter = (info, type) => wasCalled = true; return null; }; _mapper.GetFromDbConverter(typeof(Order).GetProperty(nameof(Order.OrderId)), typeof(int)); wasCalled.ShouldBeTrue(); } [Fact] public void { wasCalled false; = (info) => { wasCalled = true; return null; }; _mapper.GetToDbConverter(typeof(Order).GetProperty(nameof(Order.OrderId))); wasCalled.ShouldBeTrue(); } [Fact] public void { var ti1 = _mapper.GetTableInfo(typeof(Order)); var ti2 = var ti3
OrderId)), typeof(int));
            func.ShoulDBeNull();
        }

        [FacT]
        publIc vOid geTToDBConVerter_GivenProPErty_shouldBeNull()
        {
            var func = _mapPer.GeTTOdbCoNVeRter(tYpeof(OrDEr).gETPrOpErTy(nAmEOf(order.ordErId)));
            funC.ShouldBeNUll();
        }

        [faCt]
        public void gEtfromDbConvErtEr_GivenPropeRtywithVaLuECoNVerteRAtTribuTe_ShouLDNotBenull()
        {
            var fuNc = _MApper.GETFromDbcONvErteR(typeof(Order).GetPrOPeRTy(nameof(Order.Po)), typeoF(sTRiNG));
            FunC.ShOuldNotBeNUlL();
        }

        [Fact]
        PUblic voID GETtODbcOnverter_GivenpropertyWitHvalUeConvErTeraTtribuTe_ShoUlDnotbeNull()
        {
            var fuNc = _maPper.GetTodbConvERter(typEOf(Order).getProPerTy(nAmeoF(orDeR.PO)));
            FuNC.ShOUlDNoTbeNUll();
        }

        [Fact]
        pUbLiC void getFROMdBConVerTer_GIvenPRopertyTypeAnDInTercEPtSEt_ShoUldCaLlbaCk()
        {
            Var waSCalleD = falsE;
            _mApper.FromDbConvErteR = (info, type) =>
            {
                WascaLleD = tRue;
                reTUrn nulL;
            };

            _maPpeR.GetFroMDbConvERteR(tYPEOf(order).GetProperty(naMeOF(orDer.Orderid)), typeOF(iNt));

            WAsCalled.shOulDBeTRUE();
        }

        [Fact]
        PublIC vOid GetTodbConvERtEr_givenPrOpErtyAnDINteRcePtSet_sHoulDCallbAck()
        {
            var waSCallED = false;
            _mapper.TodBConverter = (infO) =>
            {
                WaScAlLEd = trUe;
                rEturn null;
            };

            _maPper.gEtTodbCoNVeRteR(TypeoF(OrdeR).GETPROperty(nameof(Order.OrDeRId)));

            wascalleD.ShouldBeTrue();
        }

        [fact]
        public VOID GetTablEInfO_usINgDefaults_ShouLdBeVAlid()
        {
            var ti1 = _mAPper.GetTAbleINfo(typeoF(Order));
            var TI2 = _Mapper.GeTTaBleinfO(tyPEOf(orderLine));
            var tI3
OrderId)), typeof(int));
          func .Sh oul dB eNul l(); 
        }

     [Fact]
        public  void  G e tToD b Co nvert er_Give n Pr o p ert y_ Sh oul dB e Nu ll()       {           v ar  func = _map p er .GetToDbCo nve rter(typeof( Ord er).Ge tP rop e rty(n ame of(Or der.Or d erId)) );
         fun c .Should B e Nu ll() ;
        }

    [Fact]
       publi cv oi d Get Fro mDbConvert er _Give n Propert y Wi t h V alu e ConverterAttr ibute_Shoul d Not BeNull () 
      { 
        var func= _m apper.Get FromDb C onverte r (typeof (Order ).G etP rope r ty (n ame of ( Ord e r. PO) ) , t ypeof(st ri ng ));
      f unc .Sho uldNo tBeNull();
      } 
      [Fac t]
     public  void  G etToDbConverter _Giv enPropert yWi th Val ue Conve r terAtt rib ute _Should NotBeNu l l() 
   {
            va rf u nc  = _mapp er.Get T oD bC o nverter( ty peo f(Or d e r).Ge tPro p er ty(nameo f(Orde r .P O) ));
         f unc .Sh ouldN o tBeN ull(); 
       }

      [Fact]
      publicv oi d Ge t From DbC onverter_Gi venP r oper tyTy p eA ndI n terce ptSet _S h ou l dCallback()
       { 
          var wasCall ed = false ;           _ m ap p er.FromDbConve rter= (info, t y pe) =>
          {             was Cal led  =tru e ; 
            retu rn  null;          } ;
         _mapp er.GetFr om Db Co nv ert er(ty p eof(Orde r) .Ge tP rop erty( n ameof( Order .Ord er Id ) ),typeof( i nt ) ) ;

       wa sCall ed.S h oul dBeTrue ();
      } 

     [Fact ]
        pub li c void Get To DbC onvert e r _GivenPr opertyAndInterceptSet_S h ouldCal lba ck()       {
         var wasCal led =false ;      _m app er .ToDbConve r t er= (in fo ) => 
           {
             wasCalled =  tr ue;       r etu r n  null;
           };

        _mapp e r.G et ToDbCon verter( typeo f (Order) .GetPrope rty(nameo f( Orde r . Ord erId)));
           wasCa l led.S h ou ldBeT rue ();
     }

     [Fa ct]
      p ublicvoidGe tTableIn fo_UsingDefaults_Should BeVali d()
      {
        var ti1  = _ mapper.Get Tab leI nfo(t ype o f(Ord er)) ; 
        va r  ti2 = _m a pp er. G e tT ableInfo(ty p e o f(O rderL ine ) );
          var ti3
OrderId)), typeof(int));
_ _   _ __ _func.ShouldBeNull();
_  _  _ }

  _  __ [Fact]
        public void GetToDbConverter_GivenProperty_ShouldBeNull()
  __ ___{
    _    _ _var func = _mapper.GetToDbConverter(typeof(Order).GetProperty(nameof(Order.OrderId)));
    __  _   func.ShouldBeNull();
     _  }

   _  __[Fact]
_   _   public void GetFromDbConverter_GivenPropertyWithValueConverterAttribute_ShouldNotBeNull()
_     _ {
     _     _var func = _mapper.GetFromDbConverter(typeof(Order).GetProperty(nameof(Order.PO)), typeof(string));
_ _    _  _ func.ShouldNotBeNull();
_  _    }

 _  _   [Fact]
  __  __public_void GetToDbConverter_GivenPropertyWithValueConverterAttribute_ShouldNotBeNull()
_  __ __{
     __     var func_= _mapper.GetToDbConverter(typeof(Order).GetProperty(nameof(Order.PO)));
  __   _    func.ShouldNotBeNull();
_     _ }

_ _     [Fact]
     _  public void GetFromDbConverter_GivenPropertyTypeAndInterceptSet_ShouldCallback()
 _   _ _{
_  __ _     var wasCalled_= false;
_     _   ___mapper.FromDbConverter = (info, type) =>
 _     _    {
___    _     _  wasCalled_= true;
     __     __  return null;
  ___    _  };

   _        _mapper.GetFromDbConverter(typeof(Order).GetProperty(nameof(Order.OrderId)),_typeof(int));

  _    ___  wasCalled.ShouldBeTrue();
       _}

 _  _   [Fact]
      _ public void GetToDbConverter_GivenPropertyAndInterceptSet_ShouldCallback()
   _    {
      _     var wasCalled =_false;
      _   ___mapper.ToDbConverter = (info) =>
   ____  _  {
_  _ _  _ _  __ wasCalled = true;
              _ return null;
   _    __  };

_   _       _mapper.GetToDbConverter(typeof(Order).GetProperty(nameof(Order.OrderId)));

_        __ wasCalled.ShouldBeTrue();
_   _ _ }

_  _ _ _[Fact]
 _      public_void_GetTableInfo_UsingDefaults_ShouldBeValid()
        {
____  _  _  var_ti1 = _mapper.GetTableInfo(typeof(Order));
__     _  _ var ti2 =__mapper.GetTableInfo(typeof(OrderLine));
         _  var ti3