상속: IVerbMap
예제 #1
0
        public void GetVerbProcessor_RegisteredVerbWithDifferentCase_ReturnsVerb()
        {
            VerbMap verbMap = new VerbMap();
            Mock<IVerb> verbMock = new Mock<IVerb>();

            verbMap.SetVerbProcessor("vErB", verbMock.Object);

            Assert.Same(verbMock.Object, verbMap.GetVerbProcessor("VERB"));
        }
예제 #2
0
        public void GetVerbProcessor_RegisteredVerb_ReturnsVerb()
        {
            VerbMap verbMap = new VerbMap();
            Mock<IVerb> verbMock = new Mock<IVerb>();

            verbMap.SetVerbProcessor("verb", verbMock.Object);

            Assert.Same(verbMock.Object, verbMap.GetVerbProcessor("verb"));
        }
예제 #3
0
        public void SetVerbProcessor_RegisteredVerbAgainDifferentCaseWithNull_ClearsRegistration()
        {
            VerbMap verbMap = new VerbMap();
            Mock<IVerb> verbMock = new Mock<IVerb>();
            verbMap.SetVerbProcessor("verb", verbMock.Object);

            verbMap.SetVerbProcessor("vErb", null);

            Assert.Null(verbMap.GetVerbProcessor("verb"));
        }
예제 #4
0
        public void SetVerbProcessor_RegisteredVerbAgain_UpdatesRegistration()
        {
            VerbMap verbMap = new VerbMap();
            Mock<IVerb> verbMock1 = new Mock<IVerb>();
            Mock<IVerb> verbMock2 = new Mock<IVerb>();
            verbMap.SetVerbProcessor("verb", verbMock1.Object);

            verbMap.SetVerbProcessor("veRb", verbMock2.Object);

            Assert.Same(verbMock2.Object, verbMap.GetVerbProcessor("verb"));
        }
예제 #5
0
파일: Server.cs 프로젝트: rnwood/smtp4dev
        private IVerbMap GetVerbMap()
        {
            VerbMap verbMap = new VerbMap();
            verbMap.SetVerbProcessor("HELO", new HeloVerb());
            verbMap.SetVerbProcessor("EHLO", new EhloVerb());
            verbMap.SetVerbProcessor("QUIT", new QuitVerb());
            verbMap.SetVerbProcessor("MAIL", new MailVerb());
            verbMap.SetVerbProcessor("RCPT", new RcptVerb());
            verbMap.SetVerbProcessor("DATA", new DataVerb());
            verbMap.SetVerbProcessor("RSET", new RsetVerb());
            verbMap.SetVerbProcessor("NOOP", new NoopVerb());

            return verbMap;
        }
예제 #6
0
        public Connection(Server server, TcpClient tcpClient)
        {
            VerbMap = new VerbMap();
            Session = new Session()
                          {
                              ClientAddress = ((IPEndPoint) tcpClient.Client.RemoteEndPoint).Address,
                              StartDate = DateTime.Now
                          };

            Server = server;
            _tcpClient = tcpClient;
            _tcpClient.ReceiveTimeout = Server.Behaviour.GetReceiveTimeout(this);

            ReaderEncoding =
                new ASCIISevenBitTruncatingEncoding();
            _stream = tcpClient.GetStream();

            SetupReaderAndWriter();
            SetupVerbs();
        }
예제 #7
0
 public MailVerb()
 {
     SubVerbMap = new VerbMap();
     SubVerbMap.SetVerbProcessor("FROM", new MailFromVerb());
 }
예제 #8
0
파일: RcptVerb.cs 프로젝트: rnwood/smtp4dev
 public RcptVerb()
 {
     SubVerbMap = new VerbMap();
     SubVerbMap.SetVerbProcessor("TO", new RcptToVerb());
 }
예제 #9
0
 public RcptVerb()
 {
     SubVerbMap = new VerbMap();
     SubVerbMap.SetVerbProcessor("TO", new RcptToVerb());
 }
예제 #10
0
        public void GetVerbProcessor_NoRegisteredVerb_ReturnsNull()
        {
            VerbMap verbMap = new VerbMap();

            Assert.Null(verbMap.GetVerbProcessor("VERB"));
        }
예제 #11
0
 public MailVerb()
 {
     SubVerbMap = new VerbMap();
     SubVerbMap.SetVerbProcessor("FROM", new MailFromVerb());
 }