public void DoNothingIfClearedInLenientModeOnSetting()
        {
            var indexerMock = new IndexerMock <int, string>(new object(), "ClassName", "InterfaceName", "MemberName", "MockName", Strictness.Lenient);
            var nextStep    = NextStepFor(indexerMock, "5");

            indexerMock.Clear();
            indexerMock[5] = "5";
            Assert.Equal(0, nextStep.GetCount);
            Assert.Equal(0, nextStep.SetCount);
        }
        public void ThrowIfClearedInStrictModeOnGetting()
        {
            var indexerMock = new IndexerMock <int, string>(new object(), "ClassName", "InterfaceName", "MemberName", "MockName", Strictness.Strict);
            var nextStep    = NextStepFor(indexerMock, "5");

            indexerMock.Clear();
            var ex = Assert.Throws <MockMissingException>(() => indexerMock[5]);

            Assert.Equal(MockType.IndexerGet, ex.MemberType);
            Assert.Equal(0, nextStep.GetCount);
            Assert.Equal(0, nextStep.SetCount);
        }
        public void ReturnDefaultIfClearedInLenientModeOnGetting()
        {
            var indexerMock = new IndexerMock <int, string>(new object(), "ClassName", "InterfaceName", "MemberName", "MockName", Strictness.Lenient);
            var nextStep    = NextStepFor(indexerMock, "5");

            indexerMock.Clear();
            string result = indexerMock[5];

            Assert.Equal(0, nextStep.GetCount);
            Assert.Equal(0, nextStep.SetCount);
            Assert.Null(result);
        }