public void CreateCodingResponseFromJSON() { CodingResponseMessage message = BaseMessage.Parse <CodingResponseMessage>(FixtureStream("fixtures/json/CauseOfDeathCodingMessage.json")); Assert.Equal("http://nchs.cdc.gov/vrdr_coding", message.MessageType); Assert.Equal("destination", message.MessageDestination); Assert.Equal((uint)1, message.CertificateNumber); Assert.Equal((uint)2018, message.DeathYear); Assert.Equal("42", message.StateAuxiliaryIdentifier); Assert.Equal("2018MA000001", message.NCHSIdentifier); var ethnicity = message.Ethnicity; Assert.Equal(2, ethnicity.Count); Assert.True(ethnicity.ContainsKey(CodingResponseMessage.HispanicOrigin.DETHNICE)); Assert.Equal("123", ethnicity.GetValueOrDefault(CodingResponseMessage.HispanicOrigin.DETHNICE, "foo")); Assert.True(ethnicity.ContainsKey(CodingResponseMessage.HispanicOrigin.DETHNIC5C)); Assert.Equal("456", ethnicity.GetValueOrDefault(CodingResponseMessage.HispanicOrigin.DETHNIC5C, "foo")); var race = message.Race; Assert.Equal(3, race.Count); Assert.True(race.ContainsKey(CodingResponseMessage.RaceCode.RACE1E)); Assert.Equal("foo", race.GetValueOrDefault(CodingResponseMessage.RaceCode.RACE1E, "yyz")); Assert.True(race.ContainsKey(CodingResponseMessage.RaceCode.RACE17C)); Assert.Equal("bar", race.GetValueOrDefault(CodingResponseMessage.RaceCode.RACE17C, "yyz")); Assert.True(race.ContainsKey(CodingResponseMessage.RaceCode.RACEBRG)); Assert.Equal("baz", race.GetValueOrDefault(CodingResponseMessage.RaceCode.RACEBRG, "yyz")); Assert.Equal("A04.7", message.UnderlyingCauseOfDeath); var recordAxisCodes = message.CauseOfDeathRecordAxis; Assert.Equal(4, recordAxisCodes.Count); Assert.Equal("A04.7", recordAxisCodes[0]); Assert.Equal("A41.9", recordAxisCodes[1]); Assert.Equal("J18.9", recordAxisCodes[2]); Assert.Equal("J96.0", recordAxisCodes[3]); var entityAxisEntries = message.CauseOfDeathEntityAxis; Assert.Equal(2, (int)entityAxisEntries.Count); Assert.Equal("abcde", entityAxisEntries[0].LineNumber); Assert.Equal(2, (int)entityAxisEntries[0].AssignedCodes.Count); Assert.Equal("code1_1", entityAxisEntries[0].AssignedCodes[0]); Assert.Equal("code1_2", entityAxisEntries[0].AssignedCodes[1]); Assert.Equal("xyzzy", entityAxisEntries[1].LineNumber); Assert.Equal(1, (int)entityAxisEntries[1].AssignedCodes.Count); Assert.Equal("code2_1", entityAxisEntries[1].AssignedCodes[0]); var entityAxisEntryList = message.CauseOfDeathEntityAxisList; Assert.Equal(3, (int)entityAxisEntryList.Count); (string line, string position, string code) = entityAxisEntryList[0]; Assert.Equal("abcde", line); Assert.Equal("1", position); Assert.Equal("code1_1", code); (line, position, code) = entityAxisEntryList[1]; Assert.Equal("abcde", line); Assert.Equal("2", position); Assert.Equal("code1_2", code); (line, position, code) = entityAxisEntryList[2]; Assert.Equal("xyzzy", line); Assert.Equal("1", position); Assert.Equal("code2_1", code); }
public void CreateCodingResponse() { CodingResponseMessage message = new CodingResponseMessage("destination", "http://nchs.cdc.gov/vrdr_submission"); Assert.Equal("http://nchs.cdc.gov/vrdr_coding", message.MessageType); Assert.Equal("destination", message.MessageDestination); Assert.Null(message.CertificateNumber); message.CertificateNumber = 10; Assert.Equal((uint)10, message.CertificateNumber); Assert.Null(message.StateAuxiliaryIdentifier); message.StateAuxiliaryIdentifier = "id101010"; Assert.Equal("id101010", message.StateAuxiliaryIdentifier); Assert.Null(message.DeathYear); message.DeathYear = 2019; Assert.Equal((uint)2019, message.DeathYear); Assert.Null(message.DeathJurisdictionID); message.DeathJurisdictionID = "NH"; Assert.Equal("NH", message.DeathJurisdictionID); Assert.Equal("2019NH000010", message.NCHSIdentifier); Assert.Empty(message.Ethnicity); var ethnicity = new Dictionary <CodingResponseMessage.HispanicOrigin, string>(); ethnicity.Add(CodingResponseMessage.HispanicOrigin.DETHNICE, "123"); ethnicity.Add(CodingResponseMessage.HispanicOrigin.DETHNIC5C, "456"); message.Ethnicity = ethnicity; ethnicity = message.Ethnicity; Assert.Equal(2, ethnicity.Count); Assert.True(ethnicity.ContainsKey(CodingResponseMessage.HispanicOrigin.DETHNICE)); Assert.Equal("123", ethnicity.GetValueOrDefault(CodingResponseMessage.HispanicOrigin.DETHNICE, "foo")); Assert.True(ethnicity.ContainsKey(CodingResponseMessage.HispanicOrigin.DETHNIC5C)); Assert.Equal("456", ethnicity.GetValueOrDefault(CodingResponseMessage.HispanicOrigin.DETHNIC5C, "foo")); Assert.Empty(message.Race); var race = new Dictionary <CodingResponseMessage.RaceCode, string>(); race.Add(CodingResponseMessage.RaceCode.RACE1E, "foo"); race.Add(CodingResponseMessage.RaceCode.RACE17C, "bar"); race.Add(CodingResponseMessage.RaceCode.RACEBRG, "baz"); message.Race = race; race = message.Race; Assert.Equal(3, race.Count); Assert.True(race.ContainsKey(CodingResponseMessage.RaceCode.RACE1E)); Assert.Equal("foo", race.GetValueOrDefault(CodingResponseMessage.RaceCode.RACE1E, "yyz")); Assert.True(race.ContainsKey(CodingResponseMessage.RaceCode.RACE17C)); Assert.Equal("bar", race.GetValueOrDefault(CodingResponseMessage.RaceCode.RACE17C, "yyz")); Assert.True(race.ContainsKey(CodingResponseMessage.RaceCode.RACEBRG)); Assert.Equal("baz", race.GetValueOrDefault(CodingResponseMessage.RaceCode.RACEBRG, "yyz")); Assert.Null(message.UnderlyingCauseOfDeath); message.UnderlyingCauseOfDeath = "A04.7"; Assert.Equal("A04.7", message.UnderlyingCauseOfDeath); Assert.Empty(message.CauseOfDeathRecordAxis); var recordAxisCodes = new List <string>(); recordAxisCodes.Add("A04.7"); recordAxisCodes.Add("A41.9"); recordAxisCodes.Add("J18.9"); recordAxisCodes.Add("J96.0"); message.CauseOfDeathRecordAxis = recordAxisCodes; recordAxisCodes = message.CauseOfDeathRecordAxis; Assert.Equal(4, recordAxisCodes.Count); Assert.Equal("A04.7", recordAxisCodes[0]); Assert.Equal("A41.9", recordAxisCodes[1]); Assert.Equal("J18.9", recordAxisCodes[2]); Assert.Equal("J96.0", recordAxisCodes[3]); Assert.Empty(message.CauseOfDeathEntityAxis); var entityAxisEntries = new List <CauseOfDeathEntityAxisEntry>(); var entry1 = new CauseOfDeathEntityAxisEntry("1"); entry1.AssignedCodes.Add("code1_1"); entry1.AssignedCodes.Add("code1_2"); entityAxisEntries.Add(entry1); var entry2 = new CauseOfDeathEntityAxisEntry("2"); entry2.AssignedCodes.Add("code2_1"); entityAxisEntries.Add(entry2); message.CauseOfDeathEntityAxis = entityAxisEntries; entityAxisEntries = message.CauseOfDeathEntityAxis; Assert.Equal(2, (int)entityAxisEntries.Count); Assert.Equal("1", entityAxisEntries[0].LineNumber); Assert.Equal(2, (int)entityAxisEntries[0].AssignedCodes.Count); Assert.Equal("code1_1", entityAxisEntries[0].AssignedCodes[0]); Assert.Equal("code1_2", entityAxisEntries[0].AssignedCodes[1]); Assert.Equal("2", entityAxisEntries[1].LineNumber); Assert.Equal(1, (int)entityAxisEntries[1].AssignedCodes.Count); Assert.Equal("code2_1", entityAxisEntries[1].AssignedCodes[0]); var entityAxisEntryList = message.CauseOfDeathEntityAxisList; Assert.Equal(3, (int)entityAxisEntryList.Count); (string line, string position, string code) = entityAxisEntryList[0]; Assert.Equal("1", line); Assert.Equal("1", position); Assert.Equal("code1_1", code); (line, position, code) = entityAxisEntryList[1]; Assert.Equal("1", line); Assert.Equal("2", position); Assert.Equal("code1_2", code); (line, position, code) = entityAxisEntryList[2]; Assert.Equal("2", line); Assert.Equal("1", position); Assert.Equal("code2_1", code); }