public void GetConversations_FetchesConversationList_AndCaches() { var conversation1 = new Conversation { Id = "C1" }; var conversation2 = new Conversation { Id = "C2" }; _api.Conversations.List(types: IsOfAllConversationTypes()).Returns(ConversationList(conversation1, conversation2)); _sut.GetConversations() .ShouldComplete() .And.ShouldOnlyContain(new[] { conversation1, conversation2 }); _sut.GetConversations() .ShouldComplete() .And.ShouldOnlyContain(new[] { conversation1, conversation2 }); _api.Conversations.Received(1).List(types: IsOfAllConversationTypes()); }