public void ReadSimpleList() { var apiMock = new Moq.Mock <FritzApi>(); apiMock .Setup(x => x.GetPhoneBook()) .Returns(new PhoneBook { new Contact { Person = new Person { ImageUrl = "the image url", RealName = "first real name" }, Category = PersonCategory.Default, Telephony = new List <PhoneNumber> { new PhoneNumber(PhoneNumberType.Home, "012345678"), new PhoneNumber(PhoneNumberType.Work, "024681357"), new PhoneNumber(PhoneNumberType.Mobile, "09871234"), }, } }); var connector = new Sem.Sync.Connector.FritzBox.ContactClient { FritzApiCreator = clientFolderName => apiMock.Object }; var result = connector.GetAll("http://fritzbox.fritz"); Assert.IsNotNull(result); Assert.AreEqual(1, result.Count); var resultContact1 = result[0] as StdContact; Assert.IsNotNull(resultContact1); Assert.AreEqual("09871234", resultContact1.PersonalPhoneMobile); Assert.IsNotNull(resultContact1.BusinessAddressPrimary); Assert.IsNotNull(resultContact1.BusinessAddressPrimary.Phone); Assert.AreEqual("024681357", resultContact1.BusinessAddressPrimary.Phone); Assert.IsNotNull(resultContact1.PersonalAddressPrimary); Assert.IsNotNull(resultContact1.PersonalAddressPrimary.Phone); Assert.AreEqual("012345678", resultContact1.PersonalAddressPrimary.Phone); Assert.AreEqual("the image url", resultContact1.SourceSpecificAttributes["FritzBox.ImageUrl"]); // the name string will be split into last name and first name while transformation Fritz=>StdContact // the ToString of the name does return "{lastname}, {firstname}" Assert.AreEqual("name, first real", resultContact1.Name.ToString()); }
public void WriteSimpleList() { var apiMock = new Moq.Mock <FritzApi>(); apiMock .Setup(x => x.ClearPhoneBook()) .Returns(true); apiMock .Setup( x => x.SetPhoneBook( It.Is <PhoneBook>( p1 => p1.Count == 2))) .Returns(true); var connector = new Sem.Sync.Connector.FritzBox.ContactClient { FritzApiCreator = clientFolderName => apiMock.Object }; connector.WriteRange(new DataGenerator.Contacts().GetAll("customdata"), "http://fritzbox.fritz"); apiMock.Verify(); }