Exemple #1
0
        public void InvalidNumberOfDigits()
        {
            var codeToValidate = "978902841424";
            var success        = Ean13.TryParse(codeToValidate, out _);

            success.Should().Be(Ean13.ResultCode.InvalidNumberOfDigits);
        }
Exemple #2
0
        public void ChecksumFailed()
        {
            var codeToValidate = "9789028414245";
            var success        = Ean13.TryParse(codeToValidate, out _);

            success.Should().Be(Ean13.ResultCode.InvalidChecksum);
        }
Exemple #3
0
        public void CheckSumMatches(string codeToValidate, int expectedCheckSum)
        {
            //Act
            var success = Ean13.TryParse(codeToValidate, out var ean13);

            //Assert
            success.Should().Be(Ean13.ResultCode.Success);
            ean13.Checksum.Should().Be(expectedCheckSum);
        }
Exemple #4
0
        public void Ok(string codeToValidate, long expected)
        {
            //Act
            var success = Ean13.TryParse(codeToValidate, out var ean13);

            //Assert
            success.Should().Be(Ean13.ResultCode.Success);
            ean13.Ean13Code.Should().Be(expected);
        }
        public void MetaDataToStringSmokeTest()
        {
            //Arrange
            Ean13.TryParse("9789490433024", out var ean13);
            ISBN13.TryParse(_ruleTrees, ean13, out var metadataOpt).Should().BeTrue();
            //Act
            var formattedString = metadataOpt.Match(() => "", metadata => metadata.ToString());

            //Assert
            formattedString.Should().Be("978-94-90433-02-4");
        }
 public void TryParsePropertyTest(NonEmptyString input)
 {
     if (Ean13.TryParse(input.Item, out var ean13) == Ean13.ResultCode.Success)
     {
         var success = ISBN13.TryParse(_ruleTrees, ean13, out var metadataOpt);
         if (success)
         {
             metadataOpt.IsSome().Should().BeTrue();
         }
         else
         {
             metadataOpt.IsNone().Should().BeTrue();
         }
     }
 }
        public void TryParseTestCases(string validIsbn13, bool hasTitleCode)
        {
            //Arrange
            Ean13.TryParse(validIsbn13, out var ean13).Should().Be(Ean13.ResultCode.Success);
            //Act
            var success = ISBN13.TryParse(_ruleTrees, ean13, out var metadataOpt);

            //Assert
            success.Should().BeTrue();
            metadataOpt.For(
                () => Assert.Fail($"Expected Some metadata for {validIsbn13}."),
                metadata =>
            {
                Console.WriteLine(metadata.ToString());
                string.IsNullOrWhiteSpace(metadata.TitleCode).Should().Be(!hasTitleCode);
            });
        }
        public void TryParseSmokeTest()
        {
            //Arrange
            Ean13.TryParse("9789013004403", out var ean13);
            //Act
            var success = ISBN13.TryParse(_ruleTrees, ean13, out var metadataOpt);

            //Assert
            success.Should().BeTrue();
            var metadata = metadataOpt.UnwrapOr(new ISBN13.Metadata(ean13, "978"));

            metadata.MainPrefix.Should().Be("978");
            metadata.CountryAgency.Should().Be("Netherlands");
            metadata.CountryGroupCode.Should().Be("90");
            metadata.PublisherCode.Should().Be("13");
            metadata.TitleCode.Should().Be("00440");
        }
Exemple #9
0
        public void ValidateEan13()
        {
            // Parse a Ean13 input
            var validInput = "5053083195861";

            if (Ean13.TryParse(validInput, out var ean13) == Ean13.ResultCode.Success)
            {
                Console.WriteLine($"Code: {ean13.Ean13Code} Checksum: {ean13.Checksum}");
            }

            // Ean13 with an invalid checksum
            var invalidChecksumInput = "5053083195860";

            var parseResultCode = Ean13.TryParse(invalidChecksumInput, out ean13);

            Console.WriteLine($"Parse result for {invalidChecksumInput} is {parseResultCode}");
            //: Parse result for 5053083195860 is InvalidChecksum

            //All result cases
            switch (parseResultCode)
            {
            case Ean13.ResultCode.InvalidNumberOfDigits:
                break;

            case Ean13.ResultCode.InvalidChecksum:
                break;

            case Ean13.ResultCode.InvalidNotAValidNumber:
                break;

            case Ean13.ResultCode.Invalid:
                break;

            case Ean13.ResultCode.Success:
                break;
            }

            //Also see Ean13Tests for more examples
        }