Метод рекурсии MOQ в C#
Привет всем,
У меня есть вопрос о том, как я могу вызвать метод внутри того же метода внутри моего mockrespository.setup на MOQ. Ниже приведен мой фактический код, в котором мне нужно вызвать свой метод ChangeFilterAttribute внутри того же метода ChangeFilterAttribute.
Или любой может дать мне пример сценария, который вызывает метод внутри того же имени метода в модульном тестировании moq.
Заранее благодарю вас за вашу любезную помощь.
Что я уже пробовал:
private void GetFilters_Initialize() { _mockRepository.Setup(p => p.ChangeFilterAttribute(It.IsAny<IList<IFilterDescriptor>>(), It.IsAny<Dictionary<string, Dictionary<string, Dictionary<string, int>>>>())) .Returns((IList<IFilterDescriptor> filters, Dictionary<string, Dictionary<string, Dictionary<string, int>>> dictionaryColumnValue) => { if (filters.Any()) { foreach (var filter in filters) { var descriptor = filter as FilterDescriptor; foreach (var item in dictionaryColumnValue) { if (descriptor != null && item.Key == descriptor.Member) { foreach (var memVal in item.Value) { descriptor.Member = memVal.Key.ToString(); foreach (var conVal in memVal.Value) { if (descriptor.ConvertedValue.Equals(conVal.Key)) { descriptor.Value = conVal.Value; descriptor.Operator = FilterOperator.IsEqualTo; break; } else descriptor.Operator = FilterOperator.Contains; } } } else if (filter is CompositeFilterDescriptor) { var compositeFilterDescriptor = filter as CompositeFilterDescriptor; if (compositeFilterDescriptor != null) { // This is my problem, on how could I call this inside of this changefilterAtribute method in my unit testing ChangeFilterAttribute(compositeFilterDescriptor.FilterDescriptors, _changeFilterAttribute_DictonaryColumnValues); } } } } } return filters; }); }
Silver Lightning
Может ли кто-нибудь подсказать мне, как я могу использовать обратный вызов в рекурсии unit test MOQ в C#? Заранее спасибо