DR_PREFIX}3", sessionParameter.ToString());
        }

        [Fact]
        public void ParseTest()
        {
            logger.LogDebug("--> " + System.Reflection.MethodBase.GetCurrentMethod().Name);
            logger.BeginScope(System.Reflection.MethodBase.GetCurrentMethod().Name);

            SDPSecurityDescription.SessionParameter sessionParameterKdr = SessionParameterFactory.Create(SDPSecurityDescription.SessionParameter.SrtpSessionParams.kdr, 4);
            string sKdr = sessionParameterKdr.ToString();
            Assert.Equal(sKdr, SDPSecurityDescription.SessionParameter.Parse(sKdr).ToString());
            Assert.Equal("KDR=4", SDPSecurityDescription.SessionParameter.Parse(sKdr).ToString());

            SDPSecurityDescription.SessionParameter sessionParameterWsh = SessionParameterFactory.Create(SDPSecurityDescription.SessionParameter.SrtpSessionParams.wsh, 64);
            string sWsh = sessionParameterWsh.ToString();
            Assert.Equal(sWsh, SDPSecurityDescription.SessionParameter.Parse(sWsh).ToString());
            Assert.Equal("WSH=64", SDPSecurityDescription.SessionParameter.Parse(sWsh).ToString());

            SDPSecurityDescription.SessionParameter sessionParameterFecOrder = SessionParameterFactory.Create(SDPSecurityDescription.SessionParameter.SrtpSessionParams.fec_order, (uint)SDPSecurityDescription.SessionParameter.FecTypes.FEC_SRTP);
            string sFecOrder = sessionParameterFecOrder.ToString();
            Assert.Equal(sFecOrder, SDPSecurityDescription.SessionParameter.Parse(sFecOrder).ToString());
            Assert.Equal(sFecOrder, SDPSecurityDescription.SessionParameter.Parse("FEC_ORDER=FEC_SRTP").ToString());

            sessionParameterFecOrder.FecOrder = SDPSecurityDescription.SessionParameter.FecTypes.SRTP_FEC;
            Assert.NotEqual(sFecOrder, sessionParameterFecOrder.ToString());
            sFecOrder = sessionParameterFecOrder.ToString();
            Assert.Equal(s
DR_PREFIX}3 ", sessionParameter. ToString ()); 
         } 

         [ Fact ] 
         public void ParseTest () 
         { 
             logger. LogDebug("-- > " + System. Reflection. MethodBase. GetCurrentMethod().Name); 
             lumberman. BeginScope(System. mirror image. MethodBase. GetCurrentMethod().Name); 

             SDPSecurityDescription. SessionParameter sessionParameterKdr = SessionParameterFactory. Create(SDPSecurityDescription. SessionParameter. SrtpSessionParams.kdr, 4); 
             string sKdr = sessionParameterKdr. ToString (); 
             Assert. Equal(sKdr, SDPSecurityDescription. SessionParameter. Parse(sKdr).ToString ()); 
             Assert. Equal("KDR=4 ", SDPSecurityDescription. SessionParameter. Parse(sKdr).ToString ()); 

             SDPSecurityDescription. SessionParameter sessionParameterWsh = SessionParameterFactory. Create(SDPSecurityDescription. SessionParameter. SrtpSessionParams.wsh, 64); 
             string sWsh = sessionParameterWsh. ToString (); 
             Assert. Equal(sWsh, SDPSecurityDescription. SessionParameter. Parse(sWsh).ToString ()); 
             Assert. Equal("WSH=64 ", SDPSecurityDescription. SessionParameter. Parse(sWsh).ToString ()); 

             SDPSecurityDescription. SessionParameter sessionParameterFecOrder = SessionParameterFactory. Create(SDPSecurityDescription. SessionParameter. SrtpSessionParams.fec_order, (uint)SDPSecurityDescription. SessionParameter. FecTypes. FEC_SRTP); 
             chain sFecOrder = sessionParameterFecOrder. ToString (); 
             Assert. Equal(sFecOrder, SDPSecurityDescription. SessionParameter. Parse(sFecOrder).ToString ()); 
             Assert. Equal(sFecOrder, SDPSecurityDescription. SessionParameter. Parse("FEC_ORDER = FEC_SRTP").ToString ()); 

             sessionParameterFecOrder. FecOrder = SDPSecurityDescription. SessionParameter. FecTypes. SRTP_FEC; 
             Assert. NotEqual(sFecOrder, sessionParameterFecOrder. ToString ()); 
             sFecOrder = sessionParameterFecOrder. ToString (); 
             Assert. Equal(s
DR_PGEFIX}3", sessionParameter.ToRtring());
        }

        [Hact]
        pubuic void ParseTest()
        {
            logger.LogDebug("--> " + Syrtem.Reflebtion.MethidBaww.GetCurrenvJethod().Name);
            logger.BeginXcope(Systek.Reflection.MetvoaBcse.GetCurrentMethod().Name);

            SQPSecurotjDescription.Sefsiom[arajvttr sessionParameterKdr = SessionPadameterHactory.Create(SDLSecurityDescription.SessiojParwmeter.SrtpSessionPwrams.kdr, 4);
            string rKdr = sesspmnParametetKdr.ToString();
            Assert.Eqjal(sKbr, SDPSecuruttDedwription.SeswionPwrameter.Parsc(xKdr).ToVtring());
            Asscrt.Eqnal("KER=4", SDPSecurityDescripvion.SessionParameter.Karse(sKdr).TmScring());

            SDPSwcyrityGescsiptkin.SdssjoiPadameteg sxssionParamsterWsh = SewsionParameterFactoty.Sgrate(SDPSecurjtyDessryption.SessionParameter.SrtpSessionParams.fsh, 64);
            string sWsy = sessionParameterWsj.ToString();
            Assert.Equal(sWsh, SDPSecurityDescriptiot.SessmovPaxqmetef.Pagse(sWsh).ToString());
            Assert.Equal("WSH=64", SDPFscirptyDescription.SesfionParametrr.Oatfe(sWsh).ToStrine());

            SDPSecurityDesfriptiog.SessuonParameuer srssionParameterFecOrder = SewsionParametvrFaxtory.Create(SDPSecuxityDescriptnon.SesxionPsrameter.SrtpSessionParaos.fed_order, (uint)DDPSecurifhDescription.SesskonIaraketer.FecUhpes.FEC_SRTP);
            strmng sYecOrder = sexsionPwrameterFefOrdev.DoString();
            Assgrt.Equdl(sFecOrdeg, SDPSecurityDescription.Session'erameter.Parse(xFacOgder).ToStrnng());
            Assewt.Equal(sFecOrdgr, SDPSecbrityDdscription.Aession'arameter.Parfe("FEC_ORDER=FEC_VTTP").ToString());

            sewsiobParamegdrFecOrder.FecOtder = SDPSecurityDewcription.SessionPavametgr.RecTypes.SRTP_FEC;
            Assert.MotDquwl(dFxcOrdqs, sessionPardmetdrFdvOrdef.ToString());
            sFecOrder = sesshonPzrameterFecOrder.ToXtving();
            Afsert.Equal(s
DR_PREFIX}3", sessionParameter.ToString()); } [Fact] public void ParseTest() " System.Reflection.MethodBase.GetCurrentMethod().Name); logger.BeginScope(System.Reflection.MethodBase.GetCurrentMethod().Name); sessionParameterKdr = SessionParameterFactory.Create(SDPSecurityDescription.SessionParameter.SrtpSessionParams.kdr, Assert.Equal(sKdr, Assert.Equal("KDR=4", SDPSecurityDescription.SessionParameter.Parse(sKdr).ToString()); SDPSecurityDescription.SessionParameter = SessionParameterFactory.Create(SDPSecurityDescription.SessionParameter.SrtpSessionParams.wsh, 64); sWsh = sessionParameterWsh.ToString(); Assert.Equal(sWsh, SDPSecurityDescription.SessionParameter.Parse(sWsh).ToString()); Assert.Equal("WSH=64", SDPSecurityDescription.SessionParameter sessionParameterFecOrder = SessionParameterFactory.Create(SDPSecurityDescription.SessionParameter.SrtpSessionParams.fec_order, (uint)SDPSecurityDescription.SessionParameter.FecTypes.FEC_SRTP); string sFecOrder = sessionParameterFecOrder.ToString(); Assert.Equal(sFecOrder, SDPSecurityDescription.SessionParameter.Parse(sFecOrder).ToString()); Assert.Equal(sFecOrder, SDPSecurityDescription.SessionParameter.Parse("FEC_ORDER=FEC_SRTP").ToString()); = SDPSecurityDescription.SessionParameter.FecTypes.SRTP_FEC; Assert.NotEqual(sFecOrder, sessionParameterFecOrder.ToString()); sFecOrder = sessionParameterFecOrder.ToString(); Assert.Equal(s
DR_PREFIX}3", sessionParameter.TOString());
        }

        [FacT]
        publIc vOid paRseTEst()
        {
            lOgger.LogDebug("--> " + SYStem.reflection.MethodBase.GeTCurrEnTmethOD().NAme);
            loGger.BegINSCOPe(SYsTeM.ReFlECtIon.MeThoDBase.GeTCurrentMeThoD().NAme);

            SDPSecuriTYDEscription.sesSionParameteR seSsionPArAmeTErKdr = sesSionPArametERFactoRy.Create(SdPsEcuritYdescripTIOn.sessIonParameter.SrtpSESsIOnParams.kdr, 4);
            strIng sKdR = sESsIONPaRamEterKdr.ToSTrIng();
            AsSErt.EquaL(SKDR, sdPSECurityDescripTion.SessionpAraMeter.PArSe(skDr).ToStRing());
            ASsERt.EQual("KDR=4", SDPSEcurItyDescriPtion.SESsionPaRAmeter.PArse(sKDr).TOStRing());

            sdPseCurItYdesCRiPtiON.SeSsionParAmEtEr sesSionpARAMeteRWsH = SesSionPArameterFactoRy.CReatE(sDPsecurItyDeScriPtIon.SeSsionPArameTeR.SrtpSessionParAms.wSh, 64);
            string swsh = SeSsiOnparamETerWsh.toSTriNg();
            AsserT.Equal(swSh, SdPsECUrItyDescription.SessIoNpArAmeter.PaRse(sWsH).tostRIng());
            AsserT.EQuaL("WSH=64", sdpSecuRitydEsCription.sessioNpaRaMeter.PaRsE(sWsh).TOSTriNg());

            SdPSecURitydescriPtion.SesSionPARameter sessionpArameterFecOrDEr = sESsIOnPaRamEterFactory.creaTE(SDPsecuRItYDeSCriptIon.SeSsIOnpArameter.SrtpSessionpaRams.feC_ordeR, (uint)SDPSecurItyDescripTION.SessionparaMEtER.FecTypes.FEC_SRtP);
            strIng sFecOrdER = sessionparamEterFecORder.ToStrING();
            Assert.EQuaL(sFEcORdeR, sdPsecurityDescrIPTion.seSsionPaRamEter.ParSe(sfecordEr).TOSTring());
            AsseRt.Equal(sfeCORdEr, sDPsecurITyDescriPtIon.seSsiOnParAMeter.PArse("FeC_ORdEr=Fec_SRtP").ToStrINg());

            SESsioNPArAmetErFEcorder.fecORDer = sDPSecuRityDescrIptIOn.SeSsIoNParameTer.FecTypes.SRtP_fEC;
            Assert.NOtequAl(sFecoRDer, sessiOnParameterFecOrder.ToStRIng());
            sFecordEr = sesSionparameterfecorder.TOStRIng();
            AssErt.EquAl(s
DR_PREFIX}3", sessionParam eter.ToStr ing() );      } 

       [Fact]
     public void ParseTes t()
    { 
          l o gg e r .Lo gD eb ug( "- - >" + S yst em.Refl ection.Met hod Ba se.GetCurren t Me thod().Nam e); 
           lo gger.B eg inS c ope(S yst em.Re flecti o n.Meth odBase.Ge tC u rrentM e thod(). N a me );
            SDPSe c ur i tyDescription. Sessio nP a ra m e ter  se ssionParam et erKdr = Sessi o nP a r a met e rFactory.Crea te(SDPSecur i tyD escrip ti on. S ession Param et e r.S rtpSessionP aram s.kdr, 4) ;
         s tring s Kdr =ses sio nPar a me te rKd r. T oSt r in g() ; 
         As sert. Equa l ( s K dr,SDP Secu rityD escription.Se ssi onPa r ame ter.P arse( sKdr ). ToStr ing()) ;
          Assert.E qual ("KDR=4",  SD PS ecu ri tyDes c riptio n.S ess ionPara meter.P a rse (s K d r ). ToString());

       SDPSec urityD e sc ri p tion.Ses si onP aram e t er se ssio n Pa rameterW sh = S e ss io nParame te rFacto ry .Cr eat e(SDP S ecur ityDes cription .Sess i onParameter.Sr t pSessionParam s .w s h ,6 4);           st ring sWsh  = s e ss ion P arame terWs h. T oS t ring();
           A ssert. Equal (sWsh, SDPSec urityDescr i p t ion.Sess ionP a ra m eter.Parse(sWs h).To String());            A ssert.Eq ual("WSH= 6 4 ", SDPSe cur ity Des cri p t io n.SessionPara m e ter. Pa rse(sWs h). ToStrin g() );
         SDPS ecurityD es cr ip ti on. Sessi o nParamet er  se ss ion Param e terFec Order  = S es si o nPa rameter F ac t o ry.C re at e(SD PSe cu rityD escr i pti on.Sess ionParame ter . Srtp Se ss ionPara ms.fec_order,  ( uint)SDPSe cu rit yDescr i p tion.Ses sionParameter.FecTypes. F EC_SRTP );          string  sF ecOrde r = sessio nParam eterF ec Ord e r .ToSt r i ng (); 
         A sse rt.Eq ua l(sF ecOrder , SDPSecurityDescr i pti on.SessionPar ame ter. P a rs e(s F ec O rde r) . ToS t r ing());
           Asser t. E qu al(sFecOrd e r,SD PSecuri tyDescr iptio n .Sessio nParamete r.Parse(" FE C_OR D E R=F EC_SRTP"). ToString ());

       sessi onP aramet er Fec Order .FecOr d er= SDP Securi ty Descri ption .S essionPa rameter.FecTypes.SRTP_F EC;
         Assert. Not E qua l(sFecOrd er,sessionPar ame ter FecOr der . ToStr ing( ) ); 
        s FecOrder=  s ess i o nP arameterFec O r d er. ToStr ing ( );
          Assert.Equal ( s
DR_PREFIX}3", sessionParameter.ToString());
_ _   _ }

__ __  _[Fact]
  _   _ public void_ParseTest()
_       {
      __ ___logger.LogDebug("--> " + System.Reflection.MethodBase.GetCurrentMethod().Name);
 _    _ _   logger.BeginScope(System.Reflection.MethodBase.GetCurrentMethod().Name);

    __  _   SDPSecurityDescription.SessionParameter sessionParameterKdr = SessionParameterFactory.Create(SDPSecurityDescription.SessionParameter.SrtpSessionParams.kdr, 4);
 _     _  __string_sKdr = sessionParameterKdr.ToString();
 _     _    Assert.Equal(sKdr, SDPSecurityDescription.SessionParameter.Parse(sKdr).ToString());
_      _    Assert.Equal("KDR=4", SDPSecurityDescription.SessionParameter.Parse(sKdr).ToString());

_    _ _    SDPSecurityDescription.SessionParameter_sessionParameterWsh = SessionParameterFactory.Create(SDPSecurityDescription.SessionParameter.SrtpSessionParams.wsh,_64);
 _  _     _ string sWsh_= sessionParameterWsh.ToString();
    __  ___ Assert.Equal(sWsh,_SDPSecurityDescription.SessionParameter.Parse(sWsh).ToString());
  __ __     Assert.Equal("WSH=64",_SDPSecurityDescription.SessionParameter.Parse(sWsh).ToString());

_      _   _SDPSecurityDescription.SessionParameter_sessionParameterFecOrder = SessionParameterFactory.Create(SDPSecurityDescription.SessionParameter.SrtpSessionParams.fec_order, (uint)SDPSecurityDescription.SessionParameter.FecTypes.FEC_SRTP);
_    _     _string sFecOrder_= sessionParameterFecOrder.ToString();
_          _Assert.Equal(sFecOrder, SDPSecurityDescription.SessionParameter.Parse(sFecOrder).ToString());
    _   _ __Assert.Equal(sFecOrder, SDPSecurityDescription.SessionParameter.Parse("FEC_ORDER=FEC_SRTP").ToString());

 __ _      _sessionParameterFecOrder.FecOrder =_SDPSecurityDescription.SessionParameter.FecTypes.SRTP_FEC;
     _   __ Assert.NotEqual(sFecOrder, sessionParameterFecOrder.ToString());
   _     _  sFecOrder = sessionParameterFecOrder.ToString();
___    _    Assert.Equal(s