Ejemplo n.º 1
0
        public void OkTest()
        {
            //Act
            var parseResult = _parser.Parse(9789013004403);

            //Assert
            ISBN13.Metadata isbn13Metadata = parseResult.Unwrap();
            isbn13Metadata.TitleCode.Should().Be("00440");
        }
Ejemplo n.º 2
0
        public void ISBN13Examples()
        {
            //Validate and get metadata from an ISBN-13
            var loadResult   = ISBNRangeMessage.LoadFromEmbeddedResource();
            var isbn13Parser = new ISBN13Parser(loadResult.Unwrap());

            var parseResult = isbn13Parser.Parse("9780671704278");

            //Unwrap (throws exception when result is an error)
            ISBN13.Metadata isbn13Metadata = parseResult.Unwrap();
            Console.WriteLine(isbn13Metadata.ToString());
            //: 978-0-671-70427-8

            //match: handle Err or Ok case
            parseResult.Match(
                err =>
            {
                //This is executed when the result is an error
                switch (err.ErrorKind)
                {
                case ISBNParseErrorKind.InvalidEan:
                    break;

                case ISBNParseErrorKind.NoMetadataFound:
                    break;

                case ISBNParseErrorKind.InvalidISBN13:
                    break;

                case ISBNParseErrorKind.InvalidISBN10:
                    break;

                default:
                    throw new ArgumentOutOfRangeException();
                }

                return(err.Message);
            },
                metadata =>
            {
                //This is executed when the result is Ok
                Console.WriteLine($"ISBN13: {metadata.ToString()}, Country: {metadata.CountryAgency}");
                //: ISBN13: 978-0-671-70427-8, Country: English language

                //An isbn13 is a valid EAN13
                var ean13 = metadata.Ean;
                Console.WriteLine($"Code: {ean13.Ean13Code} Checksum: {ean13.Checksum}");
                //: Code: 9780671704278 Checksum: 8

                return(metadata.ToString());
            });

            //See: ISBN13MetaDataInfoTests for more examples
        }