gedspec 0.2.0
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +7 -0
- data/Gemfile +4 -0
- data/Gemfile.lock +31 -0
- data/LICENSE +20 -0
- data/README.md +29 -0
- data/Rakefile +17 -0
- data/gedspec.gemspec +25 -0
- data/lib/gedspec.rb +10 -0
- data/lib/gedspec/gedcom/extract.rb +26 -0
- data/lib/gedspec/gedcom/file.rb +44 -0
- data/lib/gedspec/gedcom/structure.rb +74 -0
- data/lib/gedspec/header.rb +5 -0
- data/lib/gedspec/individual.rb +11 -0
- data/lib/gedspec/personal_name.rb +13 -0
- data/lib/gedspec/reference_number.rb +6 -0
- data/lib/gedspec/version.rb +3 -0
- data/spec/fixtures/sample.ged +2774 -0
- data/spec/fixtures/tcg551.ged +2161 -0
- data/spec/fixtures/tcg551_f5.ged +11 -0
- data/spec/fixtures/tcg551_head.ged +147 -0
- data/spec/fixtures/tcg551_i13.ged +13 -0
- data/spec/fixtures/tcg551_m1.ged +19 -0
- data/spec/fixtures/tcg551_n2.ged +20 -0
- data/spec/fixtures/tcg551_r1.ged +21 -0
- data/spec/fixtures/tcg551_sm2.ged +9 -0
- data/spec/fixtures/tcg551_sr2.ged +9 -0
- data/spec/gedcom/file_spec.rb +72 -0
- data/spec/gedcom/structure_spec.rb +25 -0
- data/spec/gedspec/header_spec.rb +48 -0
- data/spec/gedspec/individual_spec.rb +53 -0
- data/spec/gedspec/personal_name_spec.rb +43 -0
- data/spec/gedspec/reference_number_spec.rb +18 -0
- data/spec/spec_helper.rb +15 -0
- metadata +111 -0
@@ -0,0 +1,147 @@
|
|
1
|
+
0 HEAD
|
2
|
+
1 SOUR GEDitCOM
|
3
|
+
2 NAME GEDitCOM
|
4
|
+
2 VERS 2.9.4
|
5
|
+
2 CORP RSAC Software
|
6
|
+
3 ADDR 7108 South Pine Cone Street
|
7
|
+
4 CONT Salt Lake City, UT 84121
|
8
|
+
4 CONT USA
|
9
|
+
4 ADR1 RSAC Software
|
10
|
+
4 ADR2 7108 South Pine Cone Street
|
11
|
+
4 CITY Salt Lake City
|
12
|
+
4 STAE UT
|
13
|
+
4 POST 84121
|
14
|
+
4 CTRY USA
|
15
|
+
3 PHON +1-801-942-7768
|
16
|
+
3 PHON +1-801-555-1212
|
17
|
+
3 PHON +1-801-942-1148 (FAX) (last one!)
|
18
|
+
2 DATA Name of source data
|
19
|
+
3 DATE 1 JAN 1998
|
20
|
+
3 COPR Copyright of source data
|
21
|
+
1 SUBM @SUBMITTER@
|
22
|
+
1 SUBN @SUBMISSION@
|
23
|
+
1 _HME @PERSON1@
|
24
|
+
1 DEST ANSTFILE
|
25
|
+
1 DATE 1 JAN 1998
|
26
|
+
2 TIME 13:57:24.80
|
27
|
+
1 FILE TGC55C.ged
|
28
|
+
1 COPR � 1997 by H. Eichmann, parts � 1999-2000 by J. A. Nairn.
|
29
|
+
1 GEDC
|
30
|
+
2 VERS 5.5
|
31
|
+
2 FORM LINEAGE-LINKED
|
32
|
+
1 LANG English
|
33
|
+
1 CHAR ANSEL
|
34
|
+
2 VERS ANSI Z39.47-1985
|
35
|
+
1 PLAC
|
36
|
+
2 FORM City, County, State, Country
|
37
|
+
1 NOTE This file demonstrates all tags that are allowed in GEDCOM 5.5. Here are some comments about the HEADER record
|
38
|
+
2 CONC and comments about where to look for information on the other 9 types of GEDCOM records. Most other records will
|
39
|
+
2 CONC have their own notes that describe what to look for in that record and what to hope the importing software will find.
|
40
|
+
2 CONT
|
41
|
+
2 CONT Many applications will fail to import these notes. The notes are therefore also provided with the files as a plain-text
|
42
|
+
2 CONC "Read-Me" file.
|
43
|
+
2 CONT
|
44
|
+
2 CONT --------------------------
|
45
|
+
2 CONT The HEADER Record:
|
46
|
+
2 CONT This record has all possible tags for a HEADER record. In uses one custom tag ("_HME") to see what the software
|
47
|
+
2 CONC will say about custom tags.
|
48
|
+
2 CONT
|
49
|
+
2 CONT --------------------------
|
50
|
+
2 CONT INDIVIDUAL Records:
|
51
|
+
2 CONT This file has a small number of INDIVIDUAL records. The record named "Joseph Tag Torture" has all possible
|
52
|
+
2 CONC tags for an INDIVIDUAL record. All remaining individuals have less tags. Some test specific features; for example:
|
53
|
+
2 CONT
|
54
|
+
2 CONT Name: Standard GEDCOM Filelinks
|
55
|
+
2 CONT Name: Nonstandard Multimedia Filelinks
|
56
|
+
2 CONT Name: General Custom Filelinks
|
57
|
+
2 CONT Name: Extra URL Filelinks
|
58
|
+
2 CONT These records link to multimedia files mentioned by the GEDCOM standard and to a variety of other types of
|
59
|
+
2 CONC multimedia files, general files, or URL names.
|
60
|
+
2 CONT
|
61
|
+
2 CONT Name: Chris Locked Torture
|
62
|
+
2 CONT Has a "locked" restriction (RESN) tag - should not be able to edit this record it. This record has one set of notes
|
63
|
+
2 CONC that is used to test line breaking in notes and a few other text-parsing features of the GEDCOM software. Read those
|
64
|
+
2 CONC notes to see what they are testing.
|
65
|
+
2 CONT
|
66
|
+
2 CONT Name: Sandy Privacy Torture
|
67
|
+
2 CONT Has a "privacy" restriction (RESN) tag. Is the tag recognized and how is the record displayed and/or printed?
|
68
|
+
2 CONT
|
69
|
+
2 CONT Name: Chris Locked Torture
|
70
|
+
2 CONT Name: Sandy Privacy Torture
|
71
|
+
2 CONT Name: Pat Smith Torture
|
72
|
+
2 CONT The three children in this file have unknown sex (no SEX tag). An ancestor tree from each should give five
|
73
|
+
2 CONC generations of ancestors.
|
74
|
+
2 CONT
|
75
|
+
2 CONT Name: Charlie Accented ANSEL
|
76
|
+
2 CONT Name: Lucy Special ANSEL
|
77
|
+
2 CONT The notes in these records use all possible special characters in the ANSEL character set. The header of this file
|
78
|
+
2 CONC denotes this file as using the ANSEL character set. The importing software should handle these special characters in a
|
79
|
+
2 CONC reasonable way.
|
80
|
+
2 CONT
|
81
|
+
2 CONT Name: Torture GEDCOM Matriarch
|
82
|
+
2 CONT All individuals in this file are related and all are descendants (or spouses of descendants) of Torture GEDCOM
|
83
|
+
2 CONC Matriarch. A descendant tree or report from this individual should show five generations of descendants.
|
84
|
+
2 CONT
|
85
|
+
2 CONT --------------------------
|
86
|
+
2 CONT FAMILY Records:
|
87
|
+
2 CONT The FAMILY record for "Joseph Tag Torture" (husband) and "Mary First Jones" (wife) has all tags allowed in
|
88
|
+
2 CONC family records. All other family records use only a few tags and are used to provide records for extra family links in
|
89
|
+
2 CONC other records.
|
90
|
+
2 CONT
|
91
|
+
2 CONT --------------------------
|
92
|
+
2 CONT SOURCE Records:
|
93
|
+
2 CONT There are two SOURCE records in this file. The "Everything You Every Wanted to Know about GEDCOM Tags"
|
94
|
+
2 CONC source has all possible GEDCOM tags for a SOURCE record. The other source only has only a few tags.
|
95
|
+
2 CONT
|
96
|
+
2 CONT --------------------------
|
97
|
+
2 CONT REPOSITORY Record:
|
98
|
+
2 CONT There is just one REPOSITORY record and it uses all possible tags for such a record.
|
99
|
+
2 CONT
|
100
|
+
2 CONT --------------------------
|
101
|
+
2 CONT SUBMITTER Records:
|
102
|
+
2 CONT This file has three SUBMITTER records. The "John A. Nairn" record has all tags allowed in such records. The
|
103
|
+
2 CONC second and third submitter are to test how programs input files with multiple submitters. The GEDCOM standard does
|
104
|
+
2 CONC not allow for notes in SUBMITTER records. Look in the "Main Submitter" to verify all address data comes through,
|
105
|
+
2 CONC that all three phone numbers appear, and that the multimedia file link is preserved.
|
106
|
+
2 CONT
|
107
|
+
2 CONT --------------------------
|
108
|
+
2 CONT MULTIMEDIA OBJECT Record:
|
109
|
+
2 CONT The one MULTIMEDIA record has all possible tags and even has encoded data for a small image of a flower. There
|
110
|
+
2 CONC are no known GEDCOM programs that can read or write such records. The record is included here to test how
|
111
|
+
2 CONC programs might respond to finding multimedia records present. There are possible plans to eliminate encoded
|
112
|
+
2 CONC multimedia objects in the next version of GEDCOM. In the future all multimedia will be included by links to other files.
|
113
|
+
2 CONC To test current file links and extended file links, see the "Filelinks" family records described above.
|
114
|
+
2 CONT
|
115
|
+
2 CONT --------------------------
|
116
|
+
2 CONT SUBMISSION Record:
|
117
|
+
2 CONT The one (maximum allowed) SUBMISSION record in this file has all possible tags for such a record.
|
118
|
+
2 CONT
|
119
|
+
2 CONT --------------------------
|
120
|
+
2 CONT NOTE Records:
|
121
|
+
2 CONT This file has many NOTE records. These are all linked to other records.
|
122
|
+
2 CONT
|
123
|
+
2 CONT --------------------------
|
124
|
+
2 CONT TRLR Records:
|
125
|
+
2 CONT This file ends in the standard TRLR record.
|
126
|
+
2 CONT
|
127
|
+
2 CONT --------------------------
|
128
|
+
2 CONT ADDITIONAL NOTES
|
129
|
+
2 CONT This file was originally created by H. Eichmann at <h.eichmann@@mbox.iqo.uni-hannover.de> and posted on the
|
130
|
+
2 CONC Internet.
|
131
|
+
2 CONT
|
132
|
+
2 CONT (NOTE: email addresses are listed here with double "at" signs. A rule of GEDCOM parsing is that these should be
|
133
|
+
2 CONC converted to single "at" at signs, but not many programs follow that rule. In addition, that rule is not needed and may be
|
134
|
+
2 CONC abandoned in a future version of GEDCOM).
|
135
|
+
2 CONT
|
136
|
+
2 CONT This original file was extensively modified by J. A. Nairn using GEDitCOM 2.9.4 (1999-2001) at
|
137
|
+
2 CONC <support@@geditcom.com> and posted on the Internet at <http://www.geditcom.com>. Some changes included many
|
138
|
+
2 CONC more notes, the use or more tags, extensive testing of multimedia file links, and some notes to test all special ANSEL
|
139
|
+
2 CONC characters.
|
140
|
+
2 CONT
|
141
|
+
2 CONT Feel free to copy and use this GEDCOM file for any non-commercial purpose.
|
142
|
+
2 CONT
|
143
|
+
2 CONT For selecting the allowed tags, the GEDCOM standard Release 5.5 (2 JAN 1996) was used. Copyright: The Church of
|
144
|
+
2 CONC Jesus Christ of Latter-Day Saints, <gedcom@@gedcom.org>.
|
145
|
+
2 CONT
|
146
|
+
2 CONT You can download the GEDCOM 5.5 specs from: <ftp.gedcom.com/pub/genealogy/gedcom>. You can read the
|
147
|
+
2 CONC GEDCOM 5.5 specs on the Internet at <http://homepages.rootsweb.com/~pmcbride/gedcom/55gctoc.htm>.
|
@@ -0,0 +1,19 @@
|
|
1
|
+
0 @M1@ OBJE
|
2
|
+
1 TITL Dummy Multimedia Object
|
3
|
+
1 FORM PICT
|
4
|
+
1 BLOB
|
5
|
+
2 CONT .HM.......k.1..F.jwA.Dzzzzw............A....1.........0U.66..E.8
|
6
|
+
2 CONT .......A..k.a6.A.......A..k.........../6....G.......0../..U.....
|
7
|
+
2 CONT .w1/m........HC0..../...zzzzzzzz..5zzk..AnA..U..W6U....2rRrRrRrR
|
8
|
+
2 CONT .Dw...............k.1.......1..A...5ykE/zzzx/.g//.Hxzk6/.Tzy/.k1
|
9
|
+
2 CONT /Dw/.Tvz.E5zzUE9/kHz.Tw2/DzzzEEA.kE2zk5yzk2/zzs21.U2/Dw/.Tw/.Tzy
|
10
|
+
2 CONT /.fy/.HzzkHzzzo21Ds00.E2.UE2.U62/.k./Ds0.UE0/Do0..E8/UE2.U62.U9w
|
11
|
+
2 CONT /.Tx/.20.jg2/jo2..9u/.0U.6A.zk
|
12
|
+
1 NOTE Here are some notes on this multimedia object.
|
13
|
+
2 CONT If decoded it should be an image of a flower.
|
14
|
+
1 REFN User Reference Number
|
15
|
+
2 TYPE User Reference Type
|
16
|
+
1 RIN 1
|
17
|
+
1 CHAN
|
18
|
+
2 DATE 14 Jan 2001
|
19
|
+
3 TIME 14:10:31
|
@@ -0,0 +1,20 @@
|
|
1
|
+
0 @N2@ NOTE
|
2
|
+
1 CONC Comments on "Family History Library" REPOSITORY Record.
|
3
|
+
1 CONT
|
4
|
+
1 CONT This record uses all possible GEDCOM tags for a REPOSITORY record. Some
|
5
|
+
1 CONC things to look for are:
|
6
|
+
1 CONT
|
7
|
+
1 CONT 1. The address is specified twice. Once in a multi-line address record and once in
|
8
|
+
1 CONC separate lines. The first method is usually enough. The second method is to be more
|
9
|
+
1 CONC specific about parts of the address. Is everything imported?
|
10
|
+
1 CONT
|
11
|
+
1 CONT 2. There are multiple phone numbers. Are they all imported?
|
12
|
+
1 SOUR @SOURCE1@
|
13
|
+
2 PAGE 1
|
14
|
+
2 DATA
|
15
|
+
3 DATE 1 MAY 1999
|
16
|
+
3 TEXT Text from the source about this repository.
|
17
|
+
2 QUAY 3
|
18
|
+
1 CHAN
|
19
|
+
2 DATE 12 Mar 2000
|
20
|
+
3 TIME 11:44:05
|
@@ -0,0 +1,21 @@
|
|
1
|
+
0 @R1@ REPO
|
2
|
+
1 NAME Family History Library
|
3
|
+
1 ADDR 35 North West Temple
|
4
|
+
2 CONT Salt Lake City, UT 84111
|
5
|
+
2 CONT USA
|
6
|
+
2 ADR1 35 North West Temple
|
7
|
+
2 ADR2 Across the street from Temple Square
|
8
|
+
2 CITY Salt Lake City
|
9
|
+
2 STAE Utah
|
10
|
+
2 POST 84111
|
11
|
+
2 CTRY USA
|
12
|
+
1 PHON +1-801-240-2331 (information)
|
13
|
+
1 PHON +1-801-240-1278 (gifts & donations)
|
14
|
+
1 PHON +1-801-240-2584 (support)
|
15
|
+
1 NOTE @N2@
|
16
|
+
1 REFN User Ref Number
|
17
|
+
2 TYPE Sample
|
18
|
+
1 RIN 1
|
19
|
+
1 CHAN
|
20
|
+
2 DATE 12 Mar 2000
|
21
|
+
3 TIME 10:36:02
|
@@ -0,0 +1,72 @@
|
|
1
|
+
require 'spec_helper'
|
2
|
+
|
3
|
+
describe Gedspec::Gedcom::File do
|
4
|
+
let(:file) { Gedspec::Gedcom::File.new(fixture_file('/tcg551.ged')) }
|
5
|
+
|
6
|
+
it 'extracts head snippet' do
|
7
|
+
expect(file.head.to_gedcom).to eq fixture_content('tcg551_head.ged')
|
8
|
+
end
|
9
|
+
|
10
|
+
it 'extracts a specific subm snippet' do
|
11
|
+
expect(file.subm('SM2')).to eq fixture_content('tcg551_sm2.ged')
|
12
|
+
end
|
13
|
+
|
14
|
+
it 'extracts all subm snippets' do
|
15
|
+
expect(file.subm.size).to eq 3
|
16
|
+
expect(file.subm).to include(fixture_content('tcg551_sm2.ged'))
|
17
|
+
end
|
18
|
+
|
19
|
+
it 'extracts a specific indi snippet' do
|
20
|
+
expect(file.indi('I13')).to eq fixture_content('tcg551_i13.ged')
|
21
|
+
end
|
22
|
+
|
23
|
+
it 'extracts all indi snippets' do
|
24
|
+
expect(file.indi.size).to eq 15
|
25
|
+
expect(file.indi).to include(fixture_content('tcg551_i13.ged'))
|
26
|
+
end
|
27
|
+
|
28
|
+
it 'extracts a specific fam snippet' do
|
29
|
+
expect(file.fam('F5')).to eq fixture_content('tcg551_f5.ged')
|
30
|
+
end
|
31
|
+
|
32
|
+
it 'extracts all fam snippets' do
|
33
|
+
expect(file.fam.size).to eq 7
|
34
|
+
expect(file.fam).to include(fixture_content('tcg551_f5.ged'))
|
35
|
+
end
|
36
|
+
|
37
|
+
it 'extracts a specific repo snippet' do
|
38
|
+
expect(file.repo('R1')).to eq fixture_content('tcg551_r1.ged')
|
39
|
+
end
|
40
|
+
|
41
|
+
it 'extracts all repo snippets' do
|
42
|
+
expect(file.repo.size).to eq 455
|
43
|
+
expect(file.repo).to include(fixture_content('tcg551_r1.ged'))
|
44
|
+
end
|
45
|
+
|
46
|
+
it 'extracts a specific sour snippet' do
|
47
|
+
expect(file.sour('SR2')).to eq fixture_content('tcg551_sr2.ged')
|
48
|
+
end
|
49
|
+
|
50
|
+
it 'extracts all sour snippets' do
|
51
|
+
expect(file.sour.size).to eq 2
|
52
|
+
expect(file.sour).to include(fixture_content('tcg551_sr2.ged'))
|
53
|
+
end
|
54
|
+
|
55
|
+
it 'extracts a specific note snippet' do
|
56
|
+
expect(file.note('N2')).to eq fixture_content('tcg551_n2.ged')
|
57
|
+
end
|
58
|
+
|
59
|
+
it 'extracts all note snippets' do
|
60
|
+
expect(file.note.size).to eq 33
|
61
|
+
expect(file.note).to include(fixture_content('tcg551_n2.ged'))
|
62
|
+
end
|
63
|
+
|
64
|
+
it 'extracts a specific obje snippet' do
|
65
|
+
expect(file.obje('M1')).to eq fixture_content('tcg551_m1.ged')
|
66
|
+
end
|
67
|
+
|
68
|
+
it 'extracts all obje snippets' do
|
69
|
+
expect(file.obje.size).to eq 745
|
70
|
+
expect(file.obje).to include(fixture_content('tcg551_m1.ged'))
|
71
|
+
end
|
72
|
+
end
|
@@ -0,0 +1,25 @@
|
|
1
|
+
require 'spec_helper'
|
2
|
+
|
3
|
+
describe Gedspec::Gedcom::Structure do
|
4
|
+
let(:structure) { Gedspec::Gedcom::Structure.new }
|
5
|
+
|
6
|
+
describe '#get_level' do
|
7
|
+
describe 'when the input string contains a digit character (0123456789)' do
|
8
|
+
it 'returns the first digit character as an integer', :shared => true do
|
9
|
+
expect(structure.get_level('0 @I1@ INDI')).to eq 0
|
10
|
+
end
|
11
|
+
end
|
12
|
+
|
13
|
+
describe 'when the input string contains white-space before the digit' do
|
14
|
+
it 'returns the first digit character as an integer' do
|
15
|
+
expect(structure.get_level(' 0 @I1@ INDI')).to eq 0
|
16
|
+
end
|
17
|
+
end
|
18
|
+
|
19
|
+
describe 'when the input string does not contain a digit character' do
|
20
|
+
it 'should be nil if the the string does not contain a number' do
|
21
|
+
expect(structure.get_level('INDI')).to be_nil
|
22
|
+
end
|
23
|
+
end
|
24
|
+
end
|
25
|
+
end
|
@@ -0,0 +1,48 @@
|
|
1
|
+
require 'spec_helper'
|
2
|
+
|
3
|
+
describe Gedspec::Header do
|
4
|
+
let(:head) do
|
5
|
+
Gedspec::Header.new <<-END
|
6
|
+
0 HEAD
|
7
|
+
1 SOUR GEDitCOM
|
8
|
+
2 NAME GEDitCOM
|
9
|
+
2 VERS 2.9.4
|
10
|
+
2 CORP RSAC Software
|
11
|
+
3 ADDR 7108 South Pine Cone Street
|
12
|
+
4 CONT Salt Lake City, UT 84121
|
13
|
+
4 CONT USA
|
14
|
+
4 ADR1 RSAC Software
|
15
|
+
4 ADR2 7108 South Pine Cone Street
|
16
|
+
4 CITY Salt Lake City
|
17
|
+
4 STAE UT
|
18
|
+
4 POST 84121
|
19
|
+
4 CTRY USA
|
20
|
+
3 PHON +1-801-942-7768
|
21
|
+
3 PHON +1-801-555-1212
|
22
|
+
3 PHON +1-801-942-1148 (FAX) (last one!)
|
23
|
+
2 DATA Name of source data
|
24
|
+
3 DATE 1 JAN 1998
|
25
|
+
3 COPR Copyright of source data
|
26
|
+
1 SUBM @SUBMITTER@
|
27
|
+
1 SUBN @SUBMISSION@
|
28
|
+
1 _HME @PERSON1@
|
29
|
+
1 DEST ANSTFILE
|
30
|
+
1 DATE 1 JAN 1998
|
31
|
+
2 TIME 13:57:24.80
|
32
|
+
1 FILE TGC55C.ged
|
33
|
+
1 COPR � 1997 by H. Eichmann, parts � 1999-2000 by J. A. Nairn.
|
34
|
+
1 GEDC
|
35
|
+
2 VERS 5.5
|
36
|
+
2 FORM LINEAGE-LINKED
|
37
|
+
1 LANG English
|
38
|
+
1 CHAR ANSEL
|
39
|
+
2 VERS ANSI Z39.47-1985
|
40
|
+
1 PLAC
|
41
|
+
2 FORM City, County, State, Country
|
42
|
+
END
|
43
|
+
end
|
44
|
+
|
45
|
+
it 'parses char' do
|
46
|
+
expect(head.char).to eq 'ANSEL'
|
47
|
+
end
|
48
|
+
end
|
@@ -0,0 +1,53 @@
|
|
1
|
+
require 'spec_helper'
|
2
|
+
|
3
|
+
describe Gedspec::Individual do
|
4
|
+
let(:indi) do
|
5
|
+
Gedspec::Individual.new <<-END
|
6
|
+
0 @I1@ INDI
|
7
|
+
1 RESN locked
|
8
|
+
1 SEX M
|
9
|
+
1 RFN R55
|
10
|
+
1 AFN AFN4
|
11
|
+
1 REFN T13
|
12
|
+
1 REFN L98
|
13
|
+
1 RIN A1
|
14
|
+
1 NAME John /Hancock/
|
15
|
+
END
|
16
|
+
end
|
17
|
+
|
18
|
+
it 'has many names' do
|
19
|
+
expect(indi.name).to eq 'John /Hancock/'
|
20
|
+
end
|
21
|
+
|
22
|
+
it 'parses xref' do
|
23
|
+
expect(indi.xref).to eq '@I1@'
|
24
|
+
end
|
25
|
+
|
26
|
+
it 'parses resn' do
|
27
|
+
expect(indi.resn).to eq 'locked'
|
28
|
+
end
|
29
|
+
|
30
|
+
it 'parses sex' do
|
31
|
+
expect(indi.sex).to eq 'M'
|
32
|
+
end
|
33
|
+
|
34
|
+
it 'parses rfn' do
|
35
|
+
expect(indi.rfn).to eq 'R55'
|
36
|
+
end
|
37
|
+
|
38
|
+
it 'parses afn' do
|
39
|
+
expect(indi.afn).to eq 'AFN4'
|
40
|
+
end
|
41
|
+
|
42
|
+
it 'parses refn' do
|
43
|
+
expect(indi.refn).to eq ['T13', 'L98']
|
44
|
+
end
|
45
|
+
|
46
|
+
it 'parses rin' do
|
47
|
+
expect(indi.rin).to eq 'A1'
|
48
|
+
end
|
49
|
+
|
50
|
+
it 'parses name' do
|
51
|
+
expect(indi.name).to eq 'John /Hancock/'
|
52
|
+
end
|
53
|
+
end
|