public static async Task<TestResult> TestConnection (Uri url, IWebDavClient webDavClient)
{
var calDavDataAccess = new CalDavDataAccess (url, webDavClient);
var cardDavDataAccess = new CardDavDataAccess (url, webDavClient);
var ressourceType =
(await calDavDataAccess.IsResourceCalender() ? ResourceType.Calendar : ResourceType.None) |
(await cardDavDataAccess.IsResourceAddressBook() ? ResourceType.AddressBook : ResourceType.None);
return new TestResult (
ressourceType,
ressourceType.HasFlag (ResourceType.Calendar) ? await GetCalendarProperties (calDavDataAccess) : CalendarProperties.None,
ressourceType.HasFlag (ResourceType.AddressBook) ? await GetAddressBookProperties (cardDavDataAccess) : AddressBookProperties.None);
}