public void testCountryCodeLEAInfo() { Adk.SifVersion = SifVersion.SIF15r1; String customMappings = "<agent id='Repro' sifVersion='2.0'>" + " <mappings id='Default'>" + " <object object='LEAInfo'>" + " <field name='DISTRICT_COUNTRY' sifVersion='+2.0'>AddressList/Address[@Type='0123']/Country=US</field>" + " <field name='DISTRICT_COUNTRY' sifVersion='-1.5r1'>Address[@Type='07']/Country[@Code='US']</field>" + " <field name='CONTACT_PHONE' sifVersion='+2.0'>LEAContactList/LEAContact/ContactInfo/PhonenumberList/PhoneNumber[@Type='0096']/Number</field>" + " <field name='CONTACT_PHONE' sifVersion='-1.5r1'>LEAContact/ContactInfo/PhoneNumber[@Format='NA',@Type='TE']</field>" + "</object></mappings></agent>"; Adk.SifVersion = SifVersion.SIF15r1; IDictionary map = new Hashtable(); map.Add("DISTRICT_COUNTRY", null); map.Add("CONTACT_PHONE", "801.550.2796"); StringMapAdaptor sma = new StringMapAdaptor(map); LEAInfo obj = new LEAInfo(); doOutboundMapping(sma, obj, customMappings, null); Assertion.AssertNull("Address should be null", obj.AddressList); ContactInfo ci = (ContactInfo)obj .GetElementOrAttribute("LEAContact/ContactInfo"); PhoneNumber phone = ci.PhoneNumberList.ItemAt(0); Assertion.AssertNotNull("Phone was not set", phone); Assertion.AssertEquals("Format", "NA", phone.Format); Assertion.AssertEquals("Type", "TE", phone.Type); Assertion.AssertEquals("Format", "801.550.2796", phone.Number); }
public void testLEAInfoPhones() { String customMappings = "<agent id='Repro' sifVersion='2.0'>" + " <mappings id='Default'>" + " <object object='LEAInfo'>" + " <field name='DISTRICT_PHONE' sifVersion='-1.5r1'>PhoneNumber[@Format='NA',@Type='TE']</field>" + " <field name='CONTACT_PHONE' sifVersion='-1.5r1'>LEAContact/ContactInfo/PhoneNumber[@Format='NA',@Type='TE']</field>" + "</object></mappings></agent>"; Adk.SifVersion = SifVersion.SIF15r1; IDictionary map = new Hashtable(); map.Add("DISTRICT_PHONE", "912-555-6658"); map.Add("CONTACT_PHONE", "912-888-6658"); StringMapAdaptor sma = new StringMapAdaptor(map); LEAInfo obj = new LEAInfo(); doOutboundMapping(sma, obj, customMappings, null); PhoneNumberList pnl = obj.PhoneNumberList; Assertion.AssertNotNull("LeaInfo/PhoneNumberList is Null", pnl); PhoneNumber phone = obj.PhoneNumberList.ItemAt(0); Assertion.AssertEquals("Format", "NA", phone.Format); Assertion.AssertEquals("Type", "TE", phone.Type); Assertion.AssertEquals("Number", "912-555-6658", phone.Number); LEAContact contact = obj.LEAContactList.ItemAt(0); phone = contact.ContactInfo.PhoneNumberList.ItemAt(0); Assertion.AssertEquals("Contact Format", "NA", phone.Format); Assertion.AssertEquals("Contact Type", "TE", phone.Type); Assertion.AssertEquals("Contact Number", "912-888-6658", phone.Number); }
public void testLeaInfoParseFrom15r1() { Adk.SifVersion = SifVersion.SIF15r1; String leaInfoXML = " <LEAInfo RefId='1234' xmlns='http://www.sifinfo.org/infrastructure/1.x'>" + " <LocalId>1234</LocalId>" + " <StatePrId>4567</StatePrId>" + " <LEAName>Tom District</LEAName>" + " <PhoneNumber Format='NA' Type='TE'>814.455.4658</PhoneNumber>" + " <Address Type='07'>" + " <Street>" + " <Line1>1232 Bateman Point Drive</Line1>" + " <Line2></Line2>" + " <Line3></Line3>" + " </Street>" + " <City>West Jordan</City>" + " <StatePr Code='Utah' />" + " <PostalCode>84084</PostalCode>" + " </Address>" + " <LEAContact>" + " <ContactInfo>" + " <Name Type='04'>" + " <LastName>Ngo</LastName>" + " <FirstName>Tom</FirstName>" + " <MiddleName>C.</MiddleName>" + " </Name>" + " <PositionTitle>Principal</PositionTitle>" + " <PhoneNumber Format='NA' Type='TE'></PhoneNumber>" + " <Email Type='Primary'>[email protected]</Email>" + " </ContactInfo>" + " </LEAContact>" + " </LEAInfo>"; String agentCFG = "<agent id='Repro' sifVersion='2.0'>" + " <mappings id='Default'>" + " <object object='LEAInfo'>" + " <field name='LOCALID'>LocalId</field>" + " <field name='STATEPRID' sifVersion='+2.0'>StateProvinceId</field>" + " <field name='STATEPRID' sifVersion='-1.5r1'>StatePrId</field>" + " <field name='NAME'>LEAName</field>" + " <field name='DISTRICT_PHONE' sifVersion='+2.0'>PhonenumberList/PhoneNumber[@Type='0096']/Number</field>" + " <field name='DISTRICT_PHONE' sifVersion='-1.5r1'>PhoneNumber[@Format='NA',@Type='TE']</field>" + " <field name='DISTRICT_ADDR1' sifVersion='+2.0'>AddressList/Address[@Type='2382']/Street/Line1</field>" + " <field name='DISTRICT_ADDR1' sifVersion='-1.5r1'>Address[@Type='07']/Street/Line1</field>" + " <field name='DISTRICT_ADDR2' sifVersion='+2.0'>AddressList/Address[@Type='2382']/Street/Line2</field>" + " <field name='DISTRICT_ADDR2' sifVersion='-1.5r1'>Address[@Type='07']/Street/Line2</field>" + " <field name='DISTRICT_ADDR3' sifVersion='+2.0'>AddressList/Address[@Type='2382']/Street/Line3</field>" + " <field name='DISTRICT_ADDR3' sifVersion='-1.5r1'>Address[@Type='07']/Street/Line3</field>" + " <field name='DISTRICT_CITY' sifVersion='+2.0'>AddressList/Address[@Type='0123']/City</field>" + " <field name='DISTRICT_CITY' sifVersion='-1.5r1'>Address[@Type='07']/City</field>" + " <field name='DISTRICT_STATE' sifVersion='+2.0'>AddressList/Address[@Type='0123']/StateProvince</field>" + " <field name='DISTRICT_STATE' sifVersion='-1.5r1'>Address[@Type='07']/StatePr/@Code</field>" + " <field name='DISTRICT_COUNTRY' sifVersion='+2.0'>AddressList/Address[@Type='0123']/Country=US</field>" + " <field name='DISTRICT_COUNTRY' sifVersion='-1.5r1'>Address[@Type='07']/Country[@Code='US']</field>" + " <field name='DISTRICT_ZIPCODE' sifVersion='+2.0'>AddressList/Address[@Type='0123']/PostalCode</field>" + " <field name='DISTRICT_ZIPCODE' sifVersion='-1.5r1'>Address[@Type='07']/PostalCode</field>" + " <field name='CONTACT_POSITION' sifVersion='+2.0'>LEAContactList/LEAContact/ContactInfo/PositionTitle</field>" + " <field name='CONTACT_POSITION' sifVersion='-1.5r1'>LEAContact/ContactInfo/PositionTitle</field>" + " <field name='CONTACT_PHONE' sifVersion='+2.0'>LEAContactList/LEAContact/ContactInfo/PhonenumberList/PhoneNumber[@Type='0096']/Number</field>" + " <field name='CONTACT_PHONE' sifVersion='-1.5r1'>LEAContact/ContactInfo/PhoneNumber[@Format='NA',@Type='TE']</field>" + " <field name='CONTACT_EMAIL' sifVersion='+2.0'>LEAContactList/LEAContact/ContactInfo/EmailList/Email[@Type='Primary']</field>" + " <field name='CONTACT_EMAIL' sifVersion='-1.5r1'>LEAContact/ContactInfo/Email[@Type='Primary']</field>" + " <field name='CONTACT_FIRSTNAME' sifVersion='+2.0'>LEAContactList/LEAContact/ContactInfo/Name[@Type='04']/FirstName</field>" + " <field name='CONTACT_FIRSTNAME' sifVersion='-1.5r1'>LEAContact/ContactInfo/Name[@Type='04']/FirstName</field>" + " <field name='CONTACT_MIDDLENAME' sifVersion='+2.0'>LEAContactList/LEAContact/ContactInfo/Name[@Type='04']/MiddleName</field>" + " <field name='CONTACT_MIDDLENAME' sifVersion='-1.5r1'>LEAContact/ContactInfo/Name[@Type='04']/MiddleName</field>" + " <field name='CONTACT_LASTNAME' sifVersion='+2.0'>LEAContactList/LEAContact/ContactInfo/Name[@Type='04']/LastName</field>" + " <field name='CONTACT_LASTNAME' sifVersion='-1.5r1'>LEAContact/ContactInfo/Name[@Type='04']/LastName</field>" + "</object></mappings></agent>"; SifParser p = SifParser.NewInstance(); LEAInfo leaObject = (LEAInfo)p.Parse(leaInfoXML, null, 0, SifVersion.SIF15r1); PhoneNumber phone = leaObject.PhoneNumberList.ItemAt(0); Assertion.AssertEquals("Format", "NA", phone.Format); Assertion.AssertEquals("Type", "TE", phone.Type); Assertion.AssertEquals("District Phone", "814.455.4658", phone.Number); phone = leaObject.LEAContactList.ItemAt(0).ContactInfo.PhoneNumberList.ItemAt(0); Assertion.AssertEquals("Format", "NA", phone.Format); Assertion.AssertEquals("Type", "TE", phone.Type); Assertion.AssertEquals("Contact Phone", "", phone.Number); AgentConfig cfg = createConfig(agentCFG); Mappings m = cfg.Mappings.GetMappings("Default").Select(null, null, null); IDictionary target = new Hashtable(); m.MapInbound(leaObject, new StringMapAdaptor(target)); Console.WriteLine(leaObject.SifVersion); Assertion.AssertEquals("District Phone", "814.455.4658", target["DISTRICT_PHONE"]); Assertion.AssertEquals("District Phone", "", target["CONTACT_PHONE"]); }