public void throws_if_argument_is_invalid()
            {
                var cifRecordBuilderContainerMock = new Mock<ICifRecordBuilderContainer>();

                var parser = new CifRecordParser(cifRecordBuilderContainerMock.Object);

                Assert.Throws<ArgumentNullException>(() => parser.ParseRecord(null));
                Assert.Throws<ArgumentNullException>(() => parser.ParseRecord(string.Empty));
                Assert.Throws<ArgumentNullException>(() => parser.ParseRecord(" \t"));

                Assert.Throws<ArgumentOutOfRangeException>(() => parser.ParseRecord("gibberish record"));
            }
            public void throws_if_record_type_is_not_implemented()
            {
                var cifRecordBuilderContainerMock = new Mock<ICifRecordBuilderContainer>();

                var parser = new CifRecordParser(cifRecordBuilderContainerMock.Object);

                string notImplementedRecord =
                    "XYRW01400W005701512131602070000001   ORPNGTN  T                                C";

                Assert.Throws<NotImplementedException>(() => parser.ParseRecord(notImplementedRecord));
            }