From 2b08488e3807c97ba934284c44abade8c8fd07be Mon Sep 17 00:00:00 2001 From: Paul Campbell Date: Tue, 10 Jan 2017 20:29:04 +0000 Subject: [PATCH] builder:ReadmeFragmentNotFoundException: added --- .../ReadmeFragmentNotFoundException.java | 43 +++++++++++++++++++ .../ReadmeFragmentNotFoundExceptionTest.java | 30 +++++++++++++ 2 files changed, 73 insertions(+) create mode 100644 builder/src/main/java/net/kemitix/checkstyle/ruleset/builder/ReadmeFragmentNotFoundException.java create mode 100644 builder/src/test/java/net/kemitix/checkstyle/ruleset/builder/ReadmeFragmentNotFoundExceptionTest.java diff --git a/builder/src/main/java/net/kemitix/checkstyle/ruleset/builder/ReadmeFragmentNotFoundException.java b/builder/src/main/java/net/kemitix/checkstyle/ruleset/builder/ReadmeFragmentNotFoundException.java new file mode 100644 index 0000000..de18387 --- /dev/null +++ b/builder/src/main/java/net/kemitix/checkstyle/ruleset/builder/ReadmeFragmentNotFoundException.java @@ -0,0 +1,43 @@ +/* +The MIT License (MIT) + +Copyright (c) 2016 Paul Campbell + +Permission is hereby granted, free of charge, to any person obtaining a copy +of this software and associated documentation files (the "Software"), to deal +in the Software without restriction, including without limitation the rights +to use, copy, modify, merge, publish, distribute, sublicense, and/or sell +copies of the Software, and to permit persons to whom the Software is +furnished to do so, subject to the following conditions: + +The above copyright notice and this permission notice shall be included in all +copies or substantial portions of the Software. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR +IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, +FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE +AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER +LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, +OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE +SOFTWARE. +*/ + +package net.kemitix.checkstyle.ruleset.builder; + +/** + * Exception raised when a README documentation fragment can't be found for a rule. + * + * @author Paul Campbell (pcampbell@kemitix.net) + */ +class ReadmeFragmentNotFoundException extends RuntimeException { + + /** + * Constructor. + * + * @param ruleName The name of the Rule. + * @param cause The cause. + */ + ReadmeFragmentNotFoundException(final String ruleName, final Throwable cause) { + super(ruleName, cause); + } +} diff --git a/builder/src/test/java/net/kemitix/checkstyle/ruleset/builder/ReadmeFragmentNotFoundExceptionTest.java b/builder/src/test/java/net/kemitix/checkstyle/ruleset/builder/ReadmeFragmentNotFoundExceptionTest.java new file mode 100644 index 0000000..7abfda9 --- /dev/null +++ b/builder/src/test/java/net/kemitix/checkstyle/ruleset/builder/ReadmeFragmentNotFoundExceptionTest.java @@ -0,0 +1,30 @@ +package net.kemitix.checkstyle.ruleset.builder; + +import lombok.val; +import org.junit.Test; + +import java.io.IOException; + +import static org.assertj.core.api.Assertions.assertThat; + +/** + * Tests for {@link ReadmeFragmentNotFoundException}. + * + * @author Paul Campbell (pcampbell@kemitix.net) + */ +public class ReadmeFragmentNotFoundExceptionTest { + + @Test + public void shouldCreateExceptionWithName() { + //given + val name = "rule name"; + val cause = new IOException(); + //when + val exception = new ReadmeFragmentNotFoundException(name, cause); + //then + assertThat(exception.getMessage()).as("rule name is message") + .isEqualTo(name); + assertThat(exception.getCause()).as("cause is caught") + .isSameAs(cause); + } +}