1

以下が呼び出されたと主張しようとしています

cacheManager.Site[typeName] = items.Where(x => !requestContext.DefaultSites.Contains(x.SiteId)).ToList();

引数を使用したインデクサーの構文を理解できません。これがあります

manager.Site.AssertWasCalled(x => x[TypeName] = Arg<IList<FcCacheObject>>.Matches(y => y.Count.Equals(1)));

しかし、インデクサーに引数も使用するように求めています。これを行うにはどうすればよいですか?

4

1 に答える 1

1

とてもシンプルです:)

インデクサーのパラメーターの型はstring. 次に、代わりにアサーションで

x[TypeName]

使用する

x[Arg<string>.Is.Equal(TypeName)]

結果として、アサートは次のようになります。

manager.Site.AssertWasCalled(x => x[Arg<string>.Is.Equal(TypeName)] = Arg<IList<FcCacheObject>>.Matches(y => y.Count.Equals(1)));
于 2012-12-15T19:08:57.887 に答える