Пример #1
0
        public void TryParse_WhenStringDoesNotRepresentValidIsbnCode_ReturnsFalse(string s)
        {
            // Arrange
            // Act
            IsbnCode isbn;
            bool     result = IsbnCode.TryParse(s, out isbn);

            // Assert
            Assert.That(result, Is.False);
            Assert.That(isbn, Is.Null);
        }
Пример #2
0
        [TestCase("97910-19-01092-3")]  // fictional code
        public void TryParse_WhenStringRepresentsValidIsbnCode_ReturnsTrue(string s)
        {
            // Arrange
            // Act
            IsbnCode isbn;
            bool     result = IsbnCode.TryParse(s, out isbn);

            // Assert
            Assert.That(result, Is.True);
            Assert.That(isbn, Is.EqualTo(IsbnCode.Parse(s)));
        }
Пример #3
0
        public void Parse_WhenStringPresentsValidIsbnCode_ReturnsInstance_2()
        {
            // Arrange
            // Act
            var isbn = IsbnCode.Parse("979-10-19-01092-3"); // fictional code

            // Assert
            Assert.That(isbn.Flag, Is.EqualTo(Digits.Of("979")));
            Assert.That(isbn.Group, Is.EqualTo(Digits.Of("10")));
            Assert.That(isbn.Publisher, Is.EqualTo(Digits.Of("19")));
            Assert.That(isbn.Title, Is.EqualTo(Digits.Of("01092")));
            Assert.That(isbn.ToString(), Is.EqualTo("ISBN-13 979-10-19-01092-3"));
            Assert.That(isbn.CheckDigit, Is.EqualTo('3'));
        }
Пример #4
0
        public void ToString_Styles_ReturnsStringHasSpecifiedStyles()
        {
            // Arrange
            var str  = "ISBN-13 978-4-650-01092-3";
            var isbn = IsbnCode.Parse(str);

            // Act
            var style0 = isbn.ToString(IsbnCodeStyles.AsIsbn10Code);
            var style1 = isbn.ToString(IsbnCodeStyles.WithHyphens);
            var style2 = isbn.ToString(IsbnCodeStyles.WithIsbnLength);
            var style3 = isbn.ToString(IsbnCodeStyles.WithIsbnPrefix);
            var style4 = isbn.ToString(IsbnCodeStyles.WithSpaceAfterPrefix);
            var style5 = isbn.ToString(IsbnCodeStyles.WithIsbnPrefix | IsbnCodeStyles.WithIsbnLength);
            var style6 = isbn.ToString(IsbnCodeStyles.WithIsbnPrefix | IsbnCodeStyles.WithSpaceAfterPrefix);
            var style7 = isbn.ToString(IsbnCodeStyles.WithIsbnPrefix | IsbnCodeStyles.WithIsbnLength
                                       | IsbnCodeStyles.WithSpaceAfterPrefix);
            var style8 = isbn.ToString(IsbnCodeStyles.WithIsbnPrefix | IsbnCodeStyles.WithIsbnLength
                                       | IsbnCodeStyles.WithSpaceAfterPrefix | IsbnCodeStyles.WithHyphens);
            var style9 = isbn.ToString(IsbnCodeStyles.WithIsbnPrefix | IsbnCodeStyles.WithIsbnLength
                                       | IsbnCodeStyles.WithSpaceAfterPrefix | IsbnCodeStyles.WithHyphens | IsbnCodeStyles.AsIsbn10Code);
            var style10 = isbn.ToString(IsbnCodeStyles.WithIsbnPrefix | IsbnCodeStyles.WithIsbnLength
                                        | IsbnCodeStyles.WithSpaceAfterPrefix | IsbnCodeStyles.AsIsbn10Code);
            var style11 = isbn.ToString(IsbnCodeStyles.WithIsbnPrefix
                                        | IsbnCodeStyles.WithSpaceAfterPrefix | IsbnCodeStyles.AsIsbn10Code);

            // Assert
            Assert.That(style0, Is.EqualTo(str.Substring("ISBN-13 978-".Length).Replace("-", "")));
            Assert.That(style1, Is.EqualTo(str.Substring("ISBN-13 ".Length)));
            Assert.That(style2, Is.EqualTo("978" + style0));
            Assert.That(style3, Is.EqualTo("ISBN" + style2));
            Assert.That(style4, Is.EqualTo(style2));
            Assert.That(style5, Is.EqualTo("ISBN-13 " + style2));
            Assert.That(style6, Is.EqualTo("ISBN " + style2));
            Assert.That(style7, Is.EqualTo("ISBN-13 " + style2));
            Assert.That(style8, Is.EqualTo(str));
            Assert.That(style9, Is.EqualTo("ISBN-10 " + str.Substring("ISBN-13 978-".Length)));
            Assert.That(style10, Is.EqualTo("ISBN-10 " + style0));
            Assert.That(style11, Is.EqualTo("ISBN " + style0));
        }
Пример #5
0
 public bool Equals_ComparesTwoInstances_BasedOnThoseValues(string v0, string v1)
 {
     return((v0 == null ? null : IsbnCode.Parse(v0))
            == (v1 == null ? null : IsbnCode.Parse(v1)));
 }
Пример #6
0
 public void ToString_ReturnsString_WithPrefix_Length_Space_And_Hyphens()
 {
     Assert.That(IsbnCode.Parse("ISBN-13 978-4-650-01092-3").ToString(),
                 Is.EqualTo("ISBN-13 978-4-650-01092-3"));
 }
Пример #7
0
 public void ToString_Styles_WhenCodeStartsWith979_ButIsbn13StyleIsSpecified_ThrowsException()
 {
     Assert.That(() => IsbnCode.Parse("979-10-19-01092-3").ToString(IsbnCodeStyles.AsIsbn10Code),
                 Throws.InstanceOf <ArgumentException>());
 }