예제 #1
0
        public void Build_WithDefaultValues_CreatesCiteWithDefaultValues()
        {
            // Arrange
            DatedBookCiteBuilder builder = new DatedBookCiteBuilder();

            // Act
            BookCite actual = builder.Build();

            // Assert
            Assert.NotNull(actual);

            new
            {
                Title     = TitleUnknown,
                Author    = AuthorAnonymous,
                Publisher = (string)null,
                Year      = 2022,
            }.ToExpectedObject().ShouldMatch(actual);
        }
예제 #2
0
        public void Build_WithAuthorReducedVersion_CreatesCite()
        {
            // Arrange
            BookCiteBuilder builder = new BookCiteBuilder()
                                      .WithAuthorReducedVersion("Arthur", "Conan Doyle");

            // Act
            BookCite actual = builder.Build();

            // Assert
            Assert.NotNull(actual);

            new
            {
                Title     = (string)null,
                Author    = "Conan Doyle, A.",
                Publisher = (string)null,
            }.ToExpectedObject().ShouldMatch(actual);
        }
예제 #3
0
        public void Build_UsingTwiceSetForSameParameter_CreatesCite()
        {
            // Arrange
            const string Title   = "The Hound of the Baskervilles";
            var          builder = new BookCiteBuilder()
                                   .Set <BookCiteBuilder>(x => x.Title, () => "TEST")
                                   .Set <BookCiteBuilder>(x => x.Title, () => Title);

            // Act
            BookCite actual = builder.Build();

            // Assert
            Assert.NotNull(actual);

            new
            {
                Title     = Title,
                Author    = (string)null,
                Publisher = (string)null,
            }.ToExpectedObject().ShouldMatch(actual);
        }
예제 #4
0
        public void Build_UsingSetDirectly_CreatesCite()
        {
            // Arrange
            const string Title   = "The Hound of the Baskervilles";
            var          builder = new BookCiteBuilder()
                                   .WithAuthorReducedVersion("Arthur", "Conan Doyle")
                                   .Set <BookCiteBuilder>(x => x.Title, () => Title);

            // Act
            BookCite actual = builder.Build();

            // Assert
            Assert.NotNull(actual);

            new
            {
                Title     = Title,
                Author    = "Conan Doyle, A.",
                Publisher = (string)null,
            }.ToExpectedObject().ShouldMatch(actual);
        }