From 846d05672a66e4464ebca61c56d061eb964df4c6 Mon Sep 17 00:00:00 2001 From: Martel Richard Date: Sun, 28 Feb 2021 15:12:48 +0530 Subject: [PATCH] #1638 Add Parameter Object pattern (#1650) * #1638 Add Parameter Object pattern * #1638 Fix comments and formatting for Parameter Object pattern * #1638 Fix formatting, commenting, remove string concatenation in Parameter Object pattern * #1638 Fix readme formatting and log parameter object --- parameter-object/README.md | 138 ++++++++++++++++++ parameter-object/etc/parameter-object.png | Bin 0 -> 182925 bytes .../etc/parameter-object.urm.puml | 52 +++++++ parameter-object/pom.xml | 61 ++++++++ .../com/iluwatar/parameter/object/App.java | 62 ++++++++ .../parameter/object/ParameterObject.java | 113 ++++++++++++++ .../parameter/object/SearchService.java | 60 ++++++++ .../iluwatar/parameter/object/SortOrder.java | 39 +++++ .../iluwatar/parameter/object/AppTest.java | 41 ++++++ .../parameter/object/ParameterObjectTest.java | 63 ++++++++ .../parameter/object/SearchServiceTest.java | 63 ++++++++ pom.xml | 1 + 12 files changed, 693 insertions(+) create mode 100644 parameter-object/README.md create mode 100644 parameter-object/etc/parameter-object.png create mode 100644 parameter-object/etc/parameter-object.urm.puml create mode 100644 parameter-object/pom.xml create mode 100644 parameter-object/src/main/java/com/iluwatar/parameter/object/App.java create mode 100644 parameter-object/src/main/java/com/iluwatar/parameter/object/ParameterObject.java create mode 100644 parameter-object/src/main/java/com/iluwatar/parameter/object/SearchService.java create mode 100644 parameter-object/src/main/java/com/iluwatar/parameter/object/SortOrder.java create mode 100644 parameter-object/src/test/java/com/iluwatar/parameter/object/AppTest.java create mode 100644 parameter-object/src/test/java/com/iluwatar/parameter/object/ParameterObjectTest.java create mode 100644 parameter-object/src/test/java/com/iluwatar/parameter/object/SearchServiceTest.java diff --git a/parameter-object/README.md b/parameter-object/README.md new file mode 100644 index 000000000..9783879f1 --- /dev/null +++ b/parameter-object/README.md @@ -0,0 +1,138 @@ +--- +layout: pattern +title: Parameter Object +folder: parameter-object +permalink: /patterns/parameter-object/ +categories: Behavioral +tags: + - Extensibility +--- + +## Intent + +The syntax of Java language doesn’t allow you to declare a method with a predefined value +for a parameter. Probably the best option to achieve default method parameters in Java is +by using the method overloading. Method overloading allows you to declare several methods +with the same name but with a different number of parameters. But the main problem with +method overloading as a solution for default parameter values reveals itself when a method +accepts multiple parameters. Creating an overloaded method for each possible combination of +parameters might be cumbersome. To deal with this issue, the Parameter Object pattern is used. + +## Explanation + +The Parameter Object is simply a wrapper object for all parameters of a method. +It is nothing more than just a regular POJO. The advantage of the Parameter Object over a +regular method parameter list is the fact that class fields can have default values. +Once the wrapper class is created for the method parameter list, a corresponding builder class +is also created. Usually it's an inner static class. The final step is to use the builder +to construct a new parameter object. For those parameters that are skipped, +their default values are going to be used. + + +**Programmatic Example** + +Here's the simple `SearchService` class where Method Overloading is used to default values here. To use method overloading, either the number of arguments or argument type has to be different. + +```java +public class SearchService { + //Method Overloading example. SortOrder is defaulted in this method + public String search(String type, String sortBy) { + return getQuerySummary(type, sortBy, SortOrder.DESC); + } + + /* Method Overloading example. SortBy is defaulted in this method. Note that the type has to be + different here to overload the method */ + public String search(String type, SortOrder sortOrder) { + return getQuerySummary(type, "price", sortOrder); + } + + private String getQuerySummary(String type, String sortBy, SortOrder sortOrder) { + return "Requesting shoes of type \"" + type + "\" sorted by \"" + sortBy + "\" in \"" + + sortOrder.getValue() + "ending\" order..."; + } +} + +``` + +Next we present the `SearchService` with `ParameterObject` created with Builder pattern. + +```java +public class SearchService { + + /* Parameter Object example. Default values are abstracted into the Parameter Object + at the time of Object creation */ + public String search(ParameterObject parameterObject) { + return getQuerySummary(parameterObject.getType(), parameterObject.getSortBy(), + parameterObject.getSortOrder()); + } + + private String getQuerySummary(String type, String sortBy, SortOrder sortOrder) { + return "Requesting shoes of type \"" + type + "\" sorted by \"" + sortBy + "\" in \"" + + sortOrder.getValue() + "ending\" order..."; + } +} + +public class ParameterObject { + public static final String DEFAULT_SORT_BY = "price"; + public static final SortOrder DEFAULT_SORT_ORDER = SortOrder.ASC; + + private String type; + private String sortBy = DEFAULT_SORT_BY; + private SortOrder sortOrder = DEFAULT_SORT_ORDER; + + private ParameterObject(Builder builder) { + type = builder.type; + sortBy = builder.sortBy != null && !builder.sortBy.isBlank() ? builder.sortBy : sortBy; + sortOrder = builder.sortOrder != null ? builder.sortOrder : sortOrder; + } + + public static Builder newBuilder() { + return new Builder(); + } + + //Getters and Setters... + + public static final class Builder { + + private String type; + private String sortBy; + private SortOrder sortOrder; + + private Builder() { + } + + public Builder withType(String type) { + this.type = type; + return this; + } + + public Builder sortBy(String sortBy) { + this.sortBy = sortBy; + return this; + } + + public Builder sortOrder(SortOrder sortOrder) { + this.sortOrder = sortOrder; + return this; + } + + public ParameterObject build() { + return new ParameterObject(this); + } + } +} + + +``` + +## Class diagram + +![alt text](./etc/parameter-object.png "Parameter Object") + +## Applicability + +This pattern shows us the way to have default parameters for a method in Java as the language doesn't default parameters feature out of the box. + +## Credits + +- [Does Java have default parameters?](http://dolszewski.com/java/java-default-parameters) diff --git a/parameter-object/etc/parameter-object.png b/parameter-object/etc/parameter-object.png new file mode 100644 index 0000000000000000000000000000000000000000..661c3488ac49c90e191cf77a20c72350e8dafed1 GIT binary patch literal 182925 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

GA4{7|Bu));!DIQqeyK0U-mFjYh9&)tpSa)~#e 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

_#qvNEQZZ1 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 B?yUd- literal 0 HcmV?d00001 diff --git a/parameter-object/etc/parameter-object.urm.puml b/parameter-object/etc/parameter-object.urm.puml new file mode 100644 index 000000000..6cdab2141 --- /dev/null +++ b/parameter-object/etc/parameter-object.urm.puml @@ -0,0 +1,52 @@ +@startuml +package com.iluwatar.parameter.object { + class App { + - LOGGER : Logger {static} + + App() + + main(args : String[]) {static} + } + class ParameterObject { + + DEFAULT_SORT_BY : String {static} + + DEFAULT_SORT_ORDER : SortOrder {static} + - sortBy : String + - sortOrder : SortOrder + - type : String + - ParameterObject(builder : Builder) + + getSortBy() : String + + getSortOrder() : SortOrder + + getType() : String + + newBuilder() : Builder {static} + + setSortBy(sortBy : String) + + setSortOrder(sortOrder : SortOrder) + + setType(type : String) + } + class Builder { + - sortBy : String + - sortOrder : SortOrder + - type : String + - Builder() + + build() : ParameterObject + + sortBy(sortBy : String) : Builder + + sortOrder(sortOrder : SortOrder) : Builder + + withType(type : String) : Builder + } + class SearchService { + + SearchService() + - getQuerySummary(type : String, sortBy : String, sortOrder : SortOrder) : String + + search(parameterObject : ParameterObject) : String + + search(type : String, sortBy : String) : String + + search(type : String, sortOrder : SortOrder) : String + } + enum SortOrder { + + ASC {static} + + DESC {static} + - value : String + + getValue() : String + + valueOf(name : String) : SortOrder {static} + + values() : SortOrder[] {static} + } +} +Builder --> "-sortOrder" SortOrder +Builder ..+ ParameterObject +ParameterObject --> "-DEFAULT_SORT_ORDER" SortOrder +@enduml diff --git a/parameter-object/pom.xml b/parameter-object/pom.xml new file mode 100644 index 000000000..be64d62df --- /dev/null +++ b/parameter-object/pom.xml @@ -0,0 +1,61 @@ + + + + 4.0.0 + + com.iluwatar + java-design-patterns + 1.24.0-SNAPSHOT + + parameter-object + + + org.junit.jupiter + junit-jupiter-engine + test + + + + + + org.apache.maven.plugins + maven-assembly-plugin + + + + + + com.iluwatar.parameter.object.App + + + + + + + + + diff --git a/parameter-object/src/main/java/com/iluwatar/parameter/object/App.java b/parameter-object/src/main/java/com/iluwatar/parameter/object/App.java new file mode 100644 index 000000000..7d4f600e2 --- /dev/null +++ b/parameter-object/src/main/java/com/iluwatar/parameter/object/App.java @@ -0,0 +1,62 @@ +/* + * The MIT License + * Copyright © 2014-2019 Ilkka Seppälä + * + * 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 com.iluwatar.parameter.object; + +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; + +/** + * The syntax of Java language doesn’t allow you to declare a method with a predefined value + * for a parameter. Probably the best option to achieve default method parameters in Java is + * by using the method overloading. Method overloading allows you to declare several methods + * with the same name but with a different number of parameters. But the main problem with + * method overloading as a solution for default parameter values reveals itself when a method + * accepts multiple parameters. Creating an overloaded method for each possible combination of + * parameters might be cumbersome. To deal with this issue, the Parameter Object pattern is used. + * The Parameter Object is simply a wrapper object for all parameters of a method. + * It is nothing more than just a regular POJO. The advantage of the Parameter Object over a + * regular method parameter list is the fact that class fields can have default values. + * Once the wrapper class is created for the method parameter list, a corresponding builder class + * is also created. Usually it's an inner static class. The final step is to use the builder + * to construct a new parameter object. For those parameters that are skipped, + * their default values are going to be used. + */ +public class App { + + private static final Logger LOGGER = LoggerFactory.getLogger(App.class); + + /** + * Program entry point. + * + * @param args command line args + */ + public static void main(String[] args) { + ParameterObject params = ParameterObject.newBuilder() + .withType("sneakers") + .sortBy("brand") + .build(); + LOGGER.info(params.toString()); + LOGGER.info(new SearchService().search(params)); + } +} diff --git a/parameter-object/src/main/java/com/iluwatar/parameter/object/ParameterObject.java b/parameter-object/src/main/java/com/iluwatar/parameter/object/ParameterObject.java new file mode 100644 index 000000000..65f636191 --- /dev/null +++ b/parameter-object/src/main/java/com/iluwatar/parameter/object/ParameterObject.java @@ -0,0 +1,113 @@ +/* + * The MIT License + * Copyright © 2014-2019 Ilkka Seppälä + * + * 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 com.iluwatar.parameter.object; + +public class ParameterObject { + + /** + * Default values are defined here. + */ + public static final String DEFAULT_SORT_BY = "price"; + public static final SortOrder DEFAULT_SORT_ORDER = SortOrder.ASC; + + private String type; + + /** + * Default values are assigned here. + */ + private String sortBy = DEFAULT_SORT_BY; + private SortOrder sortOrder = DEFAULT_SORT_ORDER; + + /** + * Overriding default values on object creation only when builder object has a valid value. + */ + private ParameterObject(Builder builder) { + setType(builder.type); + setSortBy(builder.sortBy != null && !builder.sortBy.isBlank() ? builder.sortBy : sortBy); + setSortOrder(builder.sortOrder != null ? builder.sortOrder : sortOrder); + } + + public static Builder newBuilder() { + return new Builder(); + } + + public String getType() { + return type; + } + + public void setType(String type) { + this.type = type; + } + + public String getSortBy() { + return sortBy; + } + + public void setSortBy(String sortBy) { + this.sortBy = sortBy; + } + + public SortOrder getSortOrder() { + return sortOrder; + } + + public void setSortOrder(SortOrder sortOrder) { + this.sortOrder = sortOrder; + } + + @Override + public String toString() { + return String.format("ParameterObject[type='%s', sortBy='%s', sortOrder='%s']", + type, sortBy, sortOrder); + } + + public static final class Builder { + + private String type; + private String sortBy; + private SortOrder sortOrder; + + private Builder() { + } + + public Builder withType(String type) { + this.type = type; + return this; + } + + public Builder sortBy(String sortBy) { + this.sortBy = sortBy; + return this; + } + + public Builder sortOrder(SortOrder sortOrder) { + this.sortOrder = sortOrder; + return this; + } + + public ParameterObject build() { + return new ParameterObject(this); + } + } +} diff --git a/parameter-object/src/main/java/com/iluwatar/parameter/object/SearchService.java b/parameter-object/src/main/java/com/iluwatar/parameter/object/SearchService.java new file mode 100644 index 000000000..62acc840d --- /dev/null +++ b/parameter-object/src/main/java/com/iluwatar/parameter/object/SearchService.java @@ -0,0 +1,60 @@ +/* + * The MIT License + * Copyright © 2014-2019 Ilkka Seppälä + * + * 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 com.iluwatar.parameter.object; + +public class SearchService { + + /** + * Below two methods of name `search` is overloaded so that we can send a default value for + * one of the criteria and call the final api. A default SortOrder is sent in the first method + * and a default SortBy is sent in the second method. So two separate method definitions are + * needed for having default values for one argument in each case. Hence multiple overloaded + * methods are needed as the number of argument increases. + */ + public String search(String type, String sortBy) { + return getQuerySummary(type, sortBy, SortOrder.ASC); + } + + public String search(String type, SortOrder sortOrder) { + return getQuerySummary(type, "price", sortOrder); + } + + + /** + * The need for multiple method definitions can be avoided by the Parameter Object pattern. + * Below is the example where only one method is required and all the logic for having default + * values are abstracted into the Parameter Object at the time of object creation. + */ + public String search(ParameterObject parameterObject) { + return getQuerySummary(parameterObject.getType(), parameterObject.getSortBy(), + parameterObject.getSortOrder()); + } + + private String getQuerySummary(String type, String sortBy, SortOrder sortOrder) { + return String.format("Requesting shoes of type \"%s\" sorted by \"%s\" in \"%sending\" order..", + type, + sortBy, + sortOrder.getValue()); + } +} diff --git a/parameter-object/src/main/java/com/iluwatar/parameter/object/SortOrder.java b/parameter-object/src/main/java/com/iluwatar/parameter/object/SortOrder.java new file mode 100644 index 000000000..6420ca9e1 --- /dev/null +++ b/parameter-object/src/main/java/com/iluwatar/parameter/object/SortOrder.java @@ -0,0 +1,39 @@ +/* + * The MIT License + * Copyright © 2014-2019 Ilkka Seppälä + * + * 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 com.iluwatar.parameter.object; + +public enum SortOrder { + ASC("asc"), + DESC("desc"); + + private String value; + + SortOrder(String value) { + this.value = value; + } + + public String getValue() { + return value; + } +} diff --git a/parameter-object/src/test/java/com/iluwatar/parameter/object/AppTest.java b/parameter-object/src/test/java/com/iluwatar/parameter/object/AppTest.java new file mode 100644 index 000000000..809e41f36 --- /dev/null +++ b/parameter-object/src/test/java/com/iluwatar/parameter/object/AppTest.java @@ -0,0 +1,41 @@ +/* + * The MIT License + * Copyright © 2014-2019 Ilkka Seppälä + * + * 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 com.iluwatar.parameter.object; + +import org.junit.jupiter.api.Test; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; + +/** + * Application test + */ +class AppTest { + private static final Logger LOGGER = LoggerFactory.getLogger(AppTest.class); + + @Test + void shouldExecuteApplicationWithoutException() { + App.main(new String[]{}); + LOGGER.info("Executed successfully without exception."); + } +} diff --git a/parameter-object/src/test/java/com/iluwatar/parameter/object/ParameterObjectTest.java b/parameter-object/src/test/java/com/iluwatar/parameter/object/ParameterObjectTest.java new file mode 100644 index 000000000..05907b9c6 --- /dev/null +++ b/parameter-object/src/test/java/com/iluwatar/parameter/object/ParameterObjectTest.java @@ -0,0 +1,63 @@ +/* + * The MIT License + * Copyright © 2014-2019 Ilkka Seppälä + * + * 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 com.iluwatar.parameter.object; + +import org.junit.jupiter.api.Test; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; + +import static org.junit.jupiter.api.Assertions.assertEquals; + +class ParameterObjectTest { + + private static final Logger LOGGER = LoggerFactory.getLogger(ParameterObjectTest.class); + + @Test + public void testForDefaultSortBy() { + //Creating parameter object with default value for SortBy set + ParameterObject params = ParameterObject.newBuilder() + .withType("sneakers") + .sortOrder(SortOrder.DESC) + .build(); + + assertEquals(ParameterObject.DEFAULT_SORT_BY, params.getSortBy(), + "Default SortBy is not set."); + LOGGER.info("{} Default parameter value is set during object creation as no value is passed." + , "SortBy"); + } + + @Test + public void testForDefaultSortOrder() { + //Creating parameter object with default value for SortOrder set + ParameterObject params = ParameterObject.newBuilder() + .withType("sneakers") + .sortBy("brand") + .build(); + + assertEquals(ParameterObject.DEFAULT_SORT_ORDER, params.getSortOrder(), + "Default SortOrder is not set."); + LOGGER.info("{} Default parameter value is set during object creation as no value is passed." + , "SortOrder"); + } +} diff --git a/parameter-object/src/test/java/com/iluwatar/parameter/object/SearchServiceTest.java b/parameter-object/src/test/java/com/iluwatar/parameter/object/SearchServiceTest.java new file mode 100644 index 000000000..d7633f0e3 --- /dev/null +++ b/parameter-object/src/test/java/com/iluwatar/parameter/object/SearchServiceTest.java @@ -0,0 +1,63 @@ +/* + * The MIT License + * Copyright © 2014-2019 Ilkka Seppälä + * + * 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 com.iluwatar.parameter.object; + +import org.junit.jupiter.api.BeforeEach; +import org.junit.jupiter.api.Test; +import org.slf4j.Logger; +import org.slf4j.LoggerFactory; + +import static org.junit.jupiter.api.Assertions.assertEquals; + +class SearchServiceTest { + private static final Logger LOGGER = LoggerFactory.getLogger(SearchServiceTest.class); + private ParameterObject parameterObject; + private SearchService searchService; + + @BeforeEach + public void setUp() { + //Creating parameter object with default values set + parameterObject = ParameterObject.newBuilder() + .withType("sneakers") + .build(); + + searchService = new SearchService(); + } + + /** + * Testing parameter object against the overloaded method to verify if the behaviour is same. + */ + @Test + public void testDefaultParametersMatch() { + assertEquals(searchService.search(parameterObject), searchService.search("sneakers", + SortOrder.ASC), "Default Parameter values do not not match."); + LOGGER.info("SortBy Default parameter value matches."); + + assertEquals(searchService.search(parameterObject), searchService.search("sneakers", + "price"), "Default Parameter values do not not match."); + LOGGER.info("SortOrder Default parameter value matches."); + + LOGGER.info("testDefaultParametersMatch executed successfully without errors."); + } +} diff --git a/pom.xml b/pom.xml index c7d61a12b..48fa6fdcf 100644 --- a/pom.xml +++ b/pom.xml @@ -208,6 +208,7 @@ factory separated-interface special-case + parameter-object