@Test public void testPreconditions_NoInvalidArgsSet_ShouldThrowIse() { tester.addValidArgs(0, 1); tester.addValidArgs(1, 0.0); assertThrows(IllegalStateException.class, tester::testPreconditions); }
@Test public void testPreconditions_InvalidArgumentGivenThatIsValid_ShouldThrowException() { tester.addValidArgs(0, 0); tester.addInvalidArgs(0, NullPointerException.class, 1); tester.addValidArgs(1, 0.0); assertThrows(AssertionError.class, tester::testPreconditions); }
@Test public void testValidArguments_EqualArgumentSetsGiven_ShouldIgnoreDupesAndTestValidCombinations() { Double b = new Double(0.0); tester.addValidArgs(0, 0, 0); tester.addValidArgs(1, b, b, 0.0); tester.testValidCombinations(); assertEquals(1, validCaptures.size()); assertEquals(0, invalidCaptures.size()); assertTrue(validCaptures.contains(new SomeClassCapture(0, 0.0))); }
@Test public void addValidArgs_NullOnPrimitiveTypeGiven_ShouldThrowIae() { assertThrows(IllegalArgumentException.class, () -> tester.addValidArgs(1, 0.0, null)); }
@Test public void testValidCombinations_ValidArgumentGivenThatIsInalid_ShouldThrowException() { tester.addValidArgs(0, 0); tester.addInvalidNpeArg(0); tester.addValidArgs(1, -0.1); tester.addInvalidArgs(1, IllegalArgumentException.class, -0.2); assertThrows(AssertionError.class, tester::testValidCombinations); }
@Test public void testPreconditions_NotAllArgumentsGiven_ShouldThrowIse() { tester.addValidArgs(0, 1); assertThrows(IllegalStateException.class, tester::testPreconditions); }
@Test public void testValidArguments_NotAllArgumentsGiven_ShouldThrowIse() { tester.addValidArgs(0, 1); assertThrows(IllegalStateException.class, tester::testValidCombinations); }
@Test public void addValidArgs_IncompatibleTypeGiven_ShouldThrowIae() { assertThrows(IllegalArgumentException.class, () -> tester.addValidArgs(0, 1L)); }
@Test public void addArgs_NullAsVarargs_ShouldAccept() { tester.addValidArgs(0, 0); tester.addInvalidArgs(0, NullPointerException.class, (Object[]) null); tester.addValidArgs(1, 0.0); tester.testPreconditions(); assertEquals(1, invalidCaptures.size()); assertTrue(invalidCaptures.contains(new SomeClassCapture(null, 0.0))); }
@Test public void testPreconditions_EqualArgumentSetsGiven_ShouldIgnoreDupesAndTestInvalidCombinations() { Double bValid = new Double(0.0); Double bInvalid = new Double(-0.1); tester.addValidArgs(0, 0, 0); tester.addInvalidArgs(0, NullPointerException.class, null, null); tester.addValidArgs(1, bValid, bValid, 0.0); tester.addInvalidArgs(1, IllegalArgumentException.class, bInvalid, bInvalid, -0.1); tester.testPreconditions(); assertEquals(0, validCaptures.size()); assertEquals(2, invalidCaptures.size()); assertTrue(invalidCaptures.contains(new SomeClassCapture(0, -0.1))); assertTrue(invalidCaptures.contains(new SomeClassCapture(null, 0.0))); }
@Test public void testPreconditions() { Map<String, List<String>> nullHeader = new HashMap<>(); nullHeader.put(null, singletonList("1")); Map<String, String> nullHeaderValue = new HashMap<>(); nullHeader.put("0", null); Map<String, List<String>> headers = singletonMap("0", singletonList("1")); new ConstructorPreconditionsTester(getConstructor()) // body .addValidArgs(0, null, "body") // headers .addValidArgs(1, ImmutableMap.of(), nullHeader, nullHeaderValue, headers) .addInvalidNpeArg(1) // statusCode .addValidArgs(2, 500) // reasonPhrase .addValidArgs(3, null, "a") .testPreconditionsAndValidCombinations(); }
@Test public void testValidArguments_ArgumentSetsGiven_ShouldTestInvalidCombinations() { tester.addValidArgs(0, 0, 1); tester.addValidArgs(1, 0.0, 0.1); tester.testValidCombinations(); assertEquals(4, validCaptures.size()); assertEquals(0, invalidCaptures.size()); assertTrue(validCaptures.contains(new SomeClassCapture(0, 0.0))); assertTrue(validCaptures.contains(new SomeClassCapture(0, 0.1))); assertTrue(validCaptures.contains(new SomeClassCapture(1, 0.0))); assertTrue(validCaptures.contains(new SomeClassCapture(1, 0.1))); }
@Test public void testPreconditions() { Map<String, List<String>> nullHeader = new HashMap<>(); nullHeader.put(null, singletonList("1")); Map<String, String> nullHeaderValue = new HashMap<>(); nullHeader.put("0", null); Map<String, List<String>> headers = singletonMap("0", singletonList("1")); new ConstructorPreconditionsTester(getConstructor()) // body .addValidArgs(0, null, "body") // headers .addValidArgs(1, ImmutableMap.of(), nullHeader, nullHeaderValue, headers) .addInvalidNpeArg(1) // requestUri .addValidArgs(2, URI.create("/")) .addInvalidNpeArg(2) // httpMethod .addValidArgs(3, "GET") .addInvalidNpeArg(3) .testPreconditionsAndValidCombinations(); }
@Test public void testPreconditions_ArgumentSetsGiven_ShouldTestInvalidCombinations() { tester.addValidArgs(0, 0, 1); tester.addInvalidArgs(0, NullPointerException.class, new Object[] {null}); tester.addValidArgs(1, 0.0, 0.1); tester.addInvalidArgs(1, IllegalArgumentException.class, -0.1, -0.2); tester.testPreconditions(); assertEquals(0, validCaptures.size()); assertEquals(6, invalidCaptures.size()); assertTrue(invalidCaptures.contains(new SomeClassCapture(null, 0.0))); assertTrue(invalidCaptures.contains(new SomeClassCapture(null, 0.1))); assertTrue(invalidCaptures.contains(new SomeClassCapture(0, -0.1))); assertTrue(invalidCaptures.contains(new SomeClassCapture(0, -0.2))); assertTrue(invalidCaptures.contains(new SomeClassCapture(1, -0.1))); assertTrue(invalidCaptures.contains(new SomeClassCapture(1, -0.2))); } @Test
@Test public void testConstructorPreconditions() { Map<String, List<String>> nullHeader = new HashMap<>(); nullHeader.put("headerName", null); new ConstructorPreconditionsTester(getConstructor()) // baseUri .addValidArgs(0, URI.create("/")) // requestUri .addValidArgs(1, URI.create("/")) .addInvalidNpeArg(1) // httpMethod .addValidArgs(2, "GET") .addInvalidNpeArg(2) // entityStream .addValidArgs(3, new ByteArrayInputStream(new byte[0])) .addInvalidNpeArg(3) // headers .addValidArgs(4, ImmutableMap.of(), ImmutableMap.of("a", ImmutableList.of())) .addValidArgs(4, ImmutableMap.of("a", ImmutableList.of("a", "b")), nullHeader) .addInvalidNpeArg(4) .testPreconditionsAndValidCombinations(); }
@Test public void testConstructorPreconditions() { Map<String, String> nullHeader = new HashMap<>(); nullHeader.put("headerName", null); new ConstructorPreconditionsTester(getConstructor()) // body .addValidArgs(0, null, "body") // headers .addValidArgs(1, ImmutableMap.of(), ImmutableMap.of("headerName", "headerValue"), nullHeader) .addInvalidNpeArg(1) // statusType .addValidArgs(2, Status.OK) .addInvalidNpeArg(2) .addValidArgs(3, true, false) .testPreconditionsAndValidCombinations(); }
@Test public void testPreconditions_ArgumentSetsViaShortcutsGiven_ShouldTestInvalidCombinations() { tester.addValidArgs(0, 0, 1); tester.addInvalidNpeArg(0); tester.addValidArgs(1, 0.0, 0.1); tester.addInvalidIaeArgs(1, -0.1, -0.2); tester.testPreconditions(); assertEquals(0, validCaptures.size()); assertEquals(6, invalidCaptures.size()); assertTrue(invalidCaptures.contains(new SomeClassCapture(null, 0.0))); assertTrue(invalidCaptures.contains(new SomeClassCapture(null, 0.1))); assertTrue(invalidCaptures.contains(new SomeClassCapture(0, -0.1))); assertTrue(invalidCaptures.contains(new SomeClassCapture(0, -0.2))); assertTrue(invalidCaptures.contains(new SomeClassCapture(1, -0.1))); assertTrue(invalidCaptures.contains(new SomeClassCapture(1, -0.2))); }
@Test public void testPreconditionsAndValidCombinations_ArgumentSetsGiven_ShouldTestInvalidAndValidCombinations() { tester.addValidArgs(0, 0, 1); tester.addInvalidArgs(0, NullPointerException.class, new Object[] {null}); tester.addValidArgs(1, 0.0, 0.1); tester.addInvalidArgs(1, IllegalArgumentException.class, -0.1, -0.2); tester.testPreconditionsAndValidCombinations(); assertEquals(4, validCaptures.size()); assertTrue(validCaptures.contains(new SomeClassCapture(0, 0.0))); assertTrue(validCaptures.contains(new SomeClassCapture(0, 0.1))); assertTrue(validCaptures.contains(new SomeClassCapture(1, 0.0))); assertTrue(validCaptures.contains(new SomeClassCapture(1, 0.1))); assertEquals(6, invalidCaptures.size()); assertTrue(invalidCaptures.contains(new SomeClassCapture(null, 0.0))); assertTrue(invalidCaptures.contains(new SomeClassCapture(null, 0.1))); assertTrue(invalidCaptures.contains(new SomeClassCapture(0, -0.1))); assertTrue(invalidCaptures.contains(new SomeClassCapture(0, -0.2))); assertTrue(invalidCaptures.contains(new SomeClassCapture(1, -0.1))); assertTrue(invalidCaptures.contains(new SomeClassCapture(1, -0.2))); }
@Test public void testPreconditions() throws NoSuchMethodException, SecurityException { new ConstructorPreconditionsTester( InstanceFactoryDefinition.class.getDeclaredConstructor(Object.class, Class.class, Class.class)) .addValidArgs(0, "String") .addInvalidNpeArg(0) .addValidArgs(1, String.class) .addInvalidNpeArg(1) .addValidArgs(2, RequestScoped.class) .addInvalidNpeArg(2) .testPreconditionsAndValidCombinations(); }
@Test public void testPreconditions() { new ConstructorPreconditionsTester(getConstructor()) .addValidArgs(0, ApiInterface1.class) .addInvalidNpeArg(0) .addValidArgs(1, "some name") .addInvalidNpeArg(1) .testPreconditions(); }