public void ThrowIfNoStepInStrictModeOnGetting()
        {
            var indexerMock = new IndexerMock <int, string>(new object(), "ClassName", "InterfaceName", "MemberName", "MockName", Strictness.Strict);
            var ex          = Assert.Throws <MockMissingException>(() => indexerMock[5]);

            Assert.Equal(MockType.IndexerGet, ex.MemberType);
        }
        public void ReturnDefaultIfNoStepInLenientModeOnGetting()
        {
            var    indexerMock = new IndexerMock <int, string>(new object(), "ClassName", "InterfaceName", "MemberName", "MockName", Strictness.Lenient);
            string result      = indexerMock[5];

            Assert.Null(result);
        }
        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);
        }
        public void SendMockInformationAndKeyToStepAndGetValueOnGetting()
        {
            var indexerMock = new IndexerMock <int, string>(new object(), "ClassName", "InterfaceName", "MemberName", "MockName", Strictness.Lenient);
            var nextStep    = NextStepFor(indexerMock, "5");

            string value = indexerMock[5];

            Assert.Equal(1, nextStep.GetCount);
            Assert.Equal(0, nextStep.SetCount);
            Assert.Same(indexerMock, nextStep.LastGetMockInfo);
            Assert.Equal(5, nextStep.LastGetKey);
            Assert.Equal("5", value);
        }
 public IndexerMockSetNextStepTests()
 {
     _indexerMock = new IndexerMock <int, string>(new object(), "ClassName", "InterfaceName", "MemberName", "MockName", Strictness.Lenient);
 }
        public void DoNothingIfNoStepInLenientModeOnSetting()
        {
            var indexerMock = new IndexerMock <int, string>(new object(), "ClassName", "InterfaceName", "MemberName", "MockName", Strictness.Lenient);

            indexerMock[5] = "5";
        }