public void GiveAObjWhenIsABoardColumnCollectionThenReturnsTrue()
        {
            // Arrange
            SetupState();
            var boardColumnCollection = new BoardColumnCollection();

            // Act
            var isAppliable = state.IsAppliable(boardColumnCollection);

            // Assert
            Assert.True(isAppliable);
        }
        public void GivenAObjWhenIsABoardColumnCollectionThenSelfLinkAdded()
        {
            // Arrange
            SetupState();
            mockLinkFactory.Setup(x => x.Build("BoardColumnSearch", It.IsAny<object>())).Returns("http://fake-url/");
            var boardColumnCollection = new BoardColumnCollection();

            // Act
            state.Apply(boardColumnCollection);

            // Assert
            Assert.NotNull(boardColumnCollection.Links);
            Assert.NotNull(boardColumnCollection.Links.FirstOrDefault(x => x.Rel == Link.SELF));
        }
        public void GivenAnObjectWhenIsABoardColumnCollectionThenApplyBoardStatesToAllBoards()
        {
            // Arrange
            SetupState();
            mockLinkFactory.Setup(x => x.Build("BoardColumnSearch", It.IsAny<object>())).Returns("http://fake-url/");
            var boardColumnCollection = new BoardColumnCollection
            {
                Items = new List<BoardColumn>
                {
                    new BoardColumn()
                }
            };

            // Act
            state.Apply(boardColumnCollection);

            // Asset
            mockBoardColumnState.Verify(x => x.Apply(It.IsAny<BoardColumn>()), Times.Once);
        }