public void UpdateMemberTestWithOneLetterUserNameAndValidNewEmailAndProviderTrueResult()
        {
            // Arrange
            MockRepository mocks = new MockRepository();
            IMembershipProvider provider = mocks.StrictMock<IMembershipProvider>();
            IUpdateMemberModel model = mocks.StrictMock<IUpdateMemberModel>();

            bool expected = true;

            bool actual;

            using (mocks.Record())
            {
                Expect.Call(model.UserName).Return("t");
                Expect.Call(model.NewEmail).Return("*****@*****.**");

                Expect.Call(model.UserName).Return("t");
                Expect.Call(model.NewEmail).Return("*****@*****.**");
                Expect.Call(model.NewIsApproved).Return(true);
                Expect.Call(provider.UpdateMember("t", "*****@*****.**", true)).Return(true);
            }

            MembersContainerService target = new MembersContainerService(provider);

            using (mocks.Playback())
            {
                actual = target.UpdateMember(model);
            }

            Assert.AreEqual(expected, actual);
        }
        public void UpdateMemberTestWithOneLetterUserNameAndNullNewEmail()
        {
            // Arrange
            MockRepository mocks = new MockRepository();
            IMembershipProvider provider = mocks.StrictMock<IMembershipProvider>();
            IUpdateMemberModel model = mocks.StrictMock<IUpdateMemberModel>();

            bool expected = false;
            bool actual;

            using (mocks.Record())
            {
                Expect.Call(model.UserName).Return("t");
                Expect.Call(model.NewEmail).Return(null);
            }

            MembersContainerService target = new MembersContainerService(provider);

            using (mocks.Playback())
            {
                actual = target.UpdateMember(model);
            }

            Assert.AreEqual(expected, actual);
        }
        public void UpdateMemberTestWithOneLetterUserNameAndValidNewEmail()
        {
            String[] test = { "*****@*****.**", "*****@*****.**", "*****@*****.**", "*****@*****.**", "*****@*****.**", "*****@*****.**", "*****@*****.**" };
            foreach (string it in test)
            {

                // Arrange
                MockRepository mocks = new MockRepository();
                IMembershipProvider provider = mocks.StrictMock<IMembershipProvider>();
                IUpdateMemberModel model = mocks.StrictMock<IUpdateMemberModel>();

                bool expected = false;

                bool actual;

                using (mocks.Record())
                {
                    Expect.Call(model.UserName).Return("t");
                    Expect.Call(model.NewEmail).Return(it);

                    Expect.Call(model.UserName).Return("t");
                    Expect.Call(model.NewEmail).Return(it);
                    Expect.Call(model.NewIsApproved).Return(false);
                    Expect.Call(provider.UpdateMember("t",it,false)).Return(false);
                }

                MembersContainerService target = new MembersContainerService(provider);

                using (mocks.Playback())
                {
                    actual = target.UpdateMember(model);
                }

                Assert.AreEqual(expected, actual);
            }
        }
        public void UpdateMemberTestWithOneLetterUserNameAndInvalidNewEmail()
        {
            String[] test =  {"test","test@","@.","@t.t","t@t","t.t@t","sdflkjfd34sdf@...."};
            foreach (string it in test)
            {

                // Arrange
                MockRepository mocks = new MockRepository();
                IMembershipProvider provider = mocks.StrictMock<IMembershipProvider>();
                IUpdateMemberModel model = mocks.StrictMock<IUpdateMemberModel>();

                bool expected = false;

                bool actual;

                using (mocks.Record())
                {
                    Expect.Call(model.UserName).Return("t");
                    Expect.Call(model.NewEmail).Return(it);
                }

                MembersContainerService target = new MembersContainerService(provider);

                using (mocks.Playback())
                {
                    actual = target.UpdateMember(model);
                }

                Assert.AreEqual(expected, actual);
            }
        }