From 740f0d766f93f51b35fbd8785223eae224ecce54 Mon Sep 17 00:00:00 2001 From: Sam Brannen Date: Wed, 6 May 2020 18:09:52 +0200 Subject: [PATCH] Polish XStreamMarshallerTests --- .../oxm/xstream/XStreamMarshallerTests.java | 76 ++++++++----------- 1 file changed, 32 insertions(+), 44 deletions(-) diff --git a/spring-oxm/src/test/java/org/springframework/oxm/xstream/XStreamMarshallerTests.java b/spring-oxm/src/test/java/org/springframework/oxm/xstream/XStreamMarshallerTests.java index 5d06efc4f4c..3d427fcd5f8 100644 --- a/spring-oxm/src/test/java/org/springframework/oxm/xstream/XStreamMarshallerTests.java +++ b/spring-oxm/src/test/java/org/springframework/oxm/xstream/XStreamMarshallerTests.java @@ -1,5 +1,5 @@ /* - * Copyright 2002-2019 the original author or authors. + * Copyright 2002-2020 the original author or authors. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. @@ -25,7 +25,6 @@ import java.util.Arrays; import java.util.Collections; import java.util.HashMap; import java.util.Map; -import java.util.concurrent.atomic.AtomicInteger; import javax.xml.parsers.DocumentBuilder; import javax.xml.parsers.DocumentBuilderFactory; @@ -69,28 +68,24 @@ import static org.mockito.Mockito.mock; * @author Arjen Poutsma * @author Sam Brannen */ -public class XStreamMarshallerTests { +class XStreamMarshallerTests { private static final String EXPECTED_STRING = "42"; - private XStreamMarshaller marshaller; + private final XStreamMarshaller marshaller = new XStreamMarshaller(); - private Flight flight; + private final Flight flight = new Flight(); @BeforeEach - public void createMarshaller() { - marshaller = new XStreamMarshaller(); - Map aliases = new HashMap<>(); - aliases.put("flight", Flight.class.getName()); - marshaller.setAliases(aliases); - flight = new Flight(); + void createMarshaller() { + marshaller.setAliases(Collections.singletonMap("flight", Flight.class.getName())); flight.setFlightNumber(42L); } @Test - public void marshalDOMResult() throws Exception { + void marshalDOMResult() throws Exception { DocumentBuilderFactory documentBuilderFactory = DocumentBuilderFactory.newInstance(); DocumentBuilder builder = documentBuilderFactory.newDocumentBuilder(); Document document = builder.newDocument(); @@ -108,7 +103,7 @@ public class XStreamMarshallerTests { // see SWS-392 @Test - public void marshalDOMResultToExistentDocument() throws Exception { + void marshalDOMResultToExistentDocument() throws Exception { DocumentBuilderFactory documentBuilderFactory = DocumentBuilderFactory.newInstance(); DocumentBuilder builder = documentBuilderFactory.newDocumentBuilder(); Document existent = builder.newDocument(); @@ -136,7 +131,7 @@ public class XStreamMarshallerTests { } @Test - public void marshalStreamResultWriter() throws Exception { + void marshalStreamResultWriter() throws Exception { StringWriter writer = new StringWriter(); StreamResult result = new StreamResult(writer); marshaller.marshal(flight, result); @@ -144,7 +139,7 @@ public class XStreamMarshallerTests { } @Test - public void marshalStreamResultOutputStream() throws Exception { + void marshalStreamResultOutputStream() throws Exception { ByteArrayOutputStream os = new ByteArrayOutputStream(); StreamResult result = new StreamResult(os); marshaller.marshal(flight, result); @@ -153,7 +148,7 @@ public class XStreamMarshallerTests { } @Test - public void marshalSaxResult() throws Exception { + void marshalSaxResult() throws Exception { ContentHandler contentHandler = mock(ContentHandler.class); SAXResult result = new SAXResult(contentHandler); marshaller.marshal(flight, result); @@ -168,7 +163,7 @@ public class XStreamMarshallerTests { } @Test - public void marshalStaxResultXMLStreamWriter() throws Exception { + void marshalStaxResultXMLStreamWriter() throws Exception { XMLOutputFactory outputFactory = XMLOutputFactory.newInstance(); StringWriter writer = new StringWriter(); XMLStreamWriter streamWriter = outputFactory.createXMLStreamWriter(writer); @@ -178,7 +173,7 @@ public class XStreamMarshallerTests { } @Test - public void marshalStaxResultXMLEventWriter() throws Exception { + void marshalStaxResultXMLEventWriter() throws Exception { XMLOutputFactory outputFactory = XMLOutputFactory.newInstance(); StringWriter writer = new StringWriter(); XMLEventWriter eventWriter = outputFactory.createXMLEventWriter(writer); @@ -188,7 +183,7 @@ public class XStreamMarshallerTests { } @Test - public void converters() throws Exception { + void converters() throws Exception { marshaller.setConverters(new EncodedByteArrayConverter()); byte[] buf = new byte[]{0x1, 0x2}; Writer writer = new StringWriter(); @@ -200,7 +195,7 @@ public class XStreamMarshallerTests { } @Test - public void useAttributesFor() throws Exception { + void useAttributesFor() throws Exception { marshaller.setUseAttributeForTypes(Long.TYPE); Writer writer = new StringWriter(); marshaller.marshal(flight, new StreamResult(writer)); @@ -209,7 +204,7 @@ public class XStreamMarshallerTests { } @Test - public void useAttributesForStringClassMap() throws Exception { + void useAttributesForStringClassMap() throws Exception { marshaller.setUseAttributeFor(Collections.singletonMap("flightNumber", Long.TYPE)); Writer writer = new StringWriter(); marshaller.marshal(flight, new StreamResult(writer)); @@ -218,7 +213,7 @@ public class XStreamMarshallerTests { } @Test - public void useAttributesForClassStringMap() throws Exception { + void useAttributesForClassStringMap() throws Exception { marshaller.setUseAttributeFor(Collections.singletonMap(Flight.class, "flightNumber")); Writer writer = new StringWriter(); marshaller.marshal(flight, new StreamResult(writer)); @@ -227,7 +222,7 @@ public class XStreamMarshallerTests { } @Test - public void useAttributesForClassStringListMap() throws Exception { + void useAttributesForClassStringListMap() throws Exception { marshaller.setUseAttributeFor(Collections.singletonMap(Flight.class, Collections.singletonList("flightNumber"))); Writer writer = new StringWriter(); marshaller.marshal(flight, new StreamResult(writer)); @@ -236,7 +231,7 @@ public class XStreamMarshallerTests { } @Test - public void aliasesByTypeStringClassMap() throws Exception { + void aliasesByTypeStringClassMap() throws Exception { Map> aliases = new HashMap<>(); aliases.put("flight", Flight.class); FlightSubclass flight = new FlightSubclass(); @@ -249,7 +244,7 @@ public class XStreamMarshallerTests { } @Test - public void aliasesByTypeStringStringMap() throws Exception { + void aliasesByTypeStringStringMap() throws Exception { Map aliases = new HashMap<>(); aliases.put("flight", Flight.class.getName()); FlightSubclass flight = new FlightSubclass(); @@ -262,7 +257,7 @@ public class XStreamMarshallerTests { } @Test - public void fieldAliases() throws Exception { + void fieldAliases() throws Exception { marshaller.setFieldAliases(Collections.singletonMap("org.springframework.oxm.xstream.Flight.flightNumber", "flightNo")); Writer writer = new StringWriter(); marshaller.marshal(flight, new StreamResult(writer)); @@ -272,17 +267,17 @@ public class XStreamMarshallerTests { @Test @SuppressWarnings({ "rawtypes", "unchecked" }) - public void omitFields() throws Exception { + void omitFields() throws Exception { Map omittedFieldsMap = Collections.singletonMap(Flight.class, "flightNumber"); marshaller.setOmittedFields(omittedFieldsMap); Writer writer = new StringWriter(); marshaller.marshal(flight, new StreamResult(writer)); - assertXpathNotExists("/flight/flightNumber", writer.toString()); + assertXpathDoesNotExist("/flight/flightNumber", writer.toString()); } @Test @SuppressWarnings({ "rawtypes", "unchecked" }) - public void implicitCollections() throws Exception { + void implicitCollections() throws Exception { Flights flights = new Flights(); flights.getFlights().add(flight); flights.getStrings().add("42"); @@ -298,14 +293,14 @@ public class XStreamMarshallerTests { Writer writer = new StringWriter(); marshaller.marshal(flights, new StreamResult(writer)); String result = writer.toString(); - assertXpathNotExists("/flights/flights", result); + assertXpathDoesNotExist("/flights/flights", result); assertXpathExists("/flights/flight", result); - assertXpathNotExists("/flights/strings", result); + assertXpathDoesNotExist("/flights/strings", result); assertXpathExists("/flights/string", result); } @Test - public void jettisonDriver() throws Exception { + void jettisonDriver() throws Exception { marshaller.setStreamDriver(new JettisonMappedXmlDriver()); Writer writer = new StringWriter(); marshaller.marshal(flight, new StreamResult(writer)); @@ -318,7 +313,7 @@ public class XStreamMarshallerTests { } @Test - public void jsonDriver() throws Exception { + void jsonDriver() throws Exception { marshaller.setStreamDriver(new JsonHierarchicalStreamDriver() { @Override public HierarchicalStreamWriter createWriter(Writer writer) { @@ -334,7 +329,7 @@ public class XStreamMarshallerTests { } @Test - public void annotatedMarshalStreamResultWriter() throws Exception { + void annotatedMarshalStreamResultWriter() throws Exception { marshaller.setAnnotatedClasses(Flight.class); StringWriter writer = new StringWriter(); StreamResult result = new StreamResult(writer); @@ -349,20 +344,13 @@ public class XStreamMarshallerTests { private static void assertXpathExists(String xPathExpression, String inXMLString){ Source source = Input.fromString(inXMLString).build(); Iterable nodes = new JAXPXPathEngine().selectNodes(xPathExpression, source); - assertThat(count(nodes) > 0).as("Expecting to find matches for Xpath " + xPathExpression).isTrue(); + assertThat(nodes).as("Expecting to find matches for Xpath " + xPathExpression).hasSizeGreaterThan(0); } - private static void assertXpathNotExists(String xPathExpression, String inXMLString){ + private static void assertXpathDoesNotExist(String xPathExpression, String inXMLString){ Source source = Input.fromString(inXMLString).build(); Iterable nodes = new JAXPXPathEngine().selectNodes(xPathExpression, source); - assertThat(count(nodes)).as("Should be zero matches for Xpath " + xPathExpression).isEqualTo(0); - } - - private static int count(Iterable nodes) { - assertThat(nodes).isNotNull(); - AtomicInteger count = new AtomicInteger(); - nodes.forEach(n -> count.incrementAndGet()); - return count.get(); + assertThat(nodes).as("Should be zero matches for Xpath " + xPathExpression).isEmpty(); } }