public void RcptToAfterMailFromShouldSucceed()
        {
            var state = new SmtpServerSessionState()
            {
                HasHelo = true,
                HasMailFrom = true,
                HasRcptTo = false
            };

            Assert.True(state.IsCommandValid(SmtpCommand.Rcpt));
        }
        public void DataBeforeRcptToShouldFail()
        {
            var state = new SmtpServerSessionState()
            {
                HasHelo = true,
                HasMailFrom = true,
                HasRcptTo = false
            };

            Assert.IsFalse(state.IsCommandValid(SmtpCommand.Data));
        }
        public void MailFromAfterHeloShouldFail()
        {
            var state = new SmtpServerSessionState()
            {
                HasHelo = true,
                HasMailFrom = false,
                HasRcptTo = false
            };

            Assert.True(state.IsCommandValid(SmtpCommand.Mail));
        }
        public void DataAfterRpptToShouldSucceed()
        {
            var state = new SmtpServerSessionState()
            {
                HasHelo = true,
                HasMailFrom = true,
                HasRcptTo = true
            };

            Assert.True(state.IsCommandValid(SmtpCommand.Data));
        }