Abstracting getter and setter method references for testing
How old can references or sources in a thesis be?
Voyeurism but not really
How much RAM could one put in a typical 80386 setup?
What typically incentivizes a professor to change jobs to a lower ranking university?
What are these boxed doors outside store fronts in New York?
can i play a electric guitar through a bass amp?
Is it legal for company to use my work email to pretend I still work there?
Arthur Somervell: 1000 Exercises - Meaning of this notation
Why Is Death Allowed In the Matrix?
I’m planning on buying a laser printer but concerned about the life cycle of toner in the machine
What does it mean to describe someone as a butt steak?
Why did the Germans forbid the possession of pet pigeons in Rostov-on-Don in 1941?
How could an uplifted falcon's brain work?
Email Account under attack (really) - anything I can do?
Test if tikzmark exists on same page
Theorems that impeded progress
Today is the Center
Why "Having chlorophyll without photosynthesis is actually very dangerous" and "like living with a bomb"?
How do we improve the relationship with a client software team that performs poorly and is becoming less collaborative?
Can divisibility rules for digits be generalized to sum of digits
Adding span tags within wp_list_pages list items
Watching something be written to a file live with tail
How do I create uniquely male characters?
The use of multiple foreign keys on same column in SQL Server
Abstracting getter and setter method references for testing
.everyoneloves__top-leaderboard:empty,.everyoneloves__mid-leaderboard:empty,.everyoneloves__bot-mid-leaderboard:empty margin-bottom:0;
$begingroup$
Is the following code easy to understand? If not how should it be changed to be more understandable. The purpose of this is reducing similar code in unit tests. This avoids repeating lines for calling getters, setters, and checking for equality.
/**
* Example string for testing.
*/
private static final String STRING_EXAMPLE="stringExample";
/**
* Test that a getter and setter are consistent.
*/
@Test
public void testGetterSettersForA()
A a = new A();
assertGetterSetterConsistent(STRING_EXAMPLE,a::setC,a::getC);
/**
* Assert that a getter and setter are consistent.
* @param input the object to be set.
* @param setter the setter.
* @param getter the getter.
*/
private static <T> void assertGetterSetterConsistent(T input, Consumer<T> setter, Supplier<T> getter)
boolean consistent =isSetConsistentToGet(input,setter,getter);
assertTrue("Getter and Setter should be consistent.",consistent);
/**
* Check if the object being set is the same as the object being gotten.
* @param input the object to be set.
* @param setter the setter.
* @param getter the getter.
* @return whether the object being set is the same as the object being gotten.
*/
private static <T> boolean isSetConsistentToGet(T input, Consumer<T> setter, Supplier<T> getter)
setter.accept(input);
T getValue = getter.get();
return areEqual(input,getValue);
/**
* Null safe check if two objects are equal.
* @param first the first object.
* @param second the second object.
* @return whether the two objects are equal.
*/
private static <T> boolean areEqual(Object first, Object second)
if(first==null)
return second==null;
return first.equals(second);
/**
* Class for testing a getter and setter.
*/
private static final class A
/**
* Variable named c.
*/
private String c;
/**
* Get c.
* @return c.
*/
public String getC()
return c;
/**
* Set c.
* @param c the value to be set.
*/
public void setC(String c)
this.c = c;
java
New contributor
$endgroup$
add a comment |
$begingroup$
Is the following code easy to understand? If not how should it be changed to be more understandable. The purpose of this is reducing similar code in unit tests. This avoids repeating lines for calling getters, setters, and checking for equality.
/**
* Example string for testing.
*/
private static final String STRING_EXAMPLE="stringExample";
/**
* Test that a getter and setter are consistent.
*/
@Test
public void testGetterSettersForA()
A a = new A();
assertGetterSetterConsistent(STRING_EXAMPLE,a::setC,a::getC);
/**
* Assert that a getter and setter are consistent.
* @param input the object to be set.
* @param setter the setter.
* @param getter the getter.
*/
private static <T> void assertGetterSetterConsistent(T input, Consumer<T> setter, Supplier<T> getter)
boolean consistent =isSetConsistentToGet(input,setter,getter);
assertTrue("Getter and Setter should be consistent.",consistent);
/**
* Check if the object being set is the same as the object being gotten.
* @param input the object to be set.
* @param setter the setter.
* @param getter the getter.
* @return whether the object being set is the same as the object being gotten.
*/
private static <T> boolean isSetConsistentToGet(T input, Consumer<T> setter, Supplier<T> getter)
setter.accept(input);
T getValue = getter.get();
return areEqual(input,getValue);
/**
* Null safe check if two objects are equal.
* @param first the first object.
* @param second the second object.
* @return whether the two objects are equal.
*/
private static <T> boolean areEqual(Object first, Object second)
if(first==null)
return second==null;
return first.equals(second);
/**
* Class for testing a getter and setter.
*/
private static final class A
/**
* Variable named c.
*/
private String c;
/**
* Get c.
* @return c.
*/
public String getC()
return c;
/**
* Set c.
* @param c the value to be set.
*/
public void setC(String c)
this.c = c;
java
New contributor
$endgroup$
add a comment |
$begingroup$
Is the following code easy to understand? If not how should it be changed to be more understandable. The purpose of this is reducing similar code in unit tests. This avoids repeating lines for calling getters, setters, and checking for equality.
/**
* Example string for testing.
*/
private static final String STRING_EXAMPLE="stringExample";
/**
* Test that a getter and setter are consistent.
*/
@Test
public void testGetterSettersForA()
A a = new A();
assertGetterSetterConsistent(STRING_EXAMPLE,a::setC,a::getC);
/**
* Assert that a getter and setter are consistent.
* @param input the object to be set.
* @param setter the setter.
* @param getter the getter.
*/
private static <T> void assertGetterSetterConsistent(T input, Consumer<T> setter, Supplier<T> getter)
boolean consistent =isSetConsistentToGet(input,setter,getter);
assertTrue("Getter and Setter should be consistent.",consistent);
/**
* Check if the object being set is the same as the object being gotten.
* @param input the object to be set.
* @param setter the setter.
* @param getter the getter.
* @return whether the object being set is the same as the object being gotten.
*/
private static <T> boolean isSetConsistentToGet(T input, Consumer<T> setter, Supplier<T> getter)
setter.accept(input);
T getValue = getter.get();
return areEqual(input,getValue);
/**
* Null safe check if two objects are equal.
* @param first the first object.
* @param second the second object.
* @return whether the two objects are equal.
*/
private static <T> boolean areEqual(Object first, Object second)
if(first==null)
return second==null;
return first.equals(second);
/**
* Class for testing a getter and setter.
*/
private static final class A
/**
* Variable named c.
*/
private String c;
/**
* Get c.
* @return c.
*/
public String getC()
return c;
/**
* Set c.
* @param c the value to be set.
*/
public void setC(String c)
this.c = c;
java
New contributor
$endgroup$
Is the following code easy to understand? If not how should it be changed to be more understandable. The purpose of this is reducing similar code in unit tests. This avoids repeating lines for calling getters, setters, and checking for equality.
/**
* Example string for testing.
*/
private static final String STRING_EXAMPLE="stringExample";
/**
* Test that a getter and setter are consistent.
*/
@Test
public void testGetterSettersForA()
A a = new A();
assertGetterSetterConsistent(STRING_EXAMPLE,a::setC,a::getC);
/**
* Assert that a getter and setter are consistent.
* @param input the object to be set.
* @param setter the setter.
* @param getter the getter.
*/
private static <T> void assertGetterSetterConsistent(T input, Consumer<T> setter, Supplier<T> getter)
boolean consistent =isSetConsistentToGet(input,setter,getter);
assertTrue("Getter and Setter should be consistent.",consistent);
/**
* Check if the object being set is the same as the object being gotten.
* @param input the object to be set.
* @param setter the setter.
* @param getter the getter.
* @return whether the object being set is the same as the object being gotten.
*/
private static <T> boolean isSetConsistentToGet(T input, Consumer<T> setter, Supplier<T> getter)
setter.accept(input);
T getValue = getter.get();
return areEqual(input,getValue);
/**
* Null safe check if two objects are equal.
* @param first the first object.
* @param second the second object.
* @return whether the two objects are equal.
*/
private static <T> boolean areEqual(Object first, Object second)
if(first==null)
return second==null;
return first.equals(second);
/**
* Class for testing a getter and setter.
*/
private static final class A
/**
* Variable named c.
*/
private String c;
/**
* Get c.
* @return c.
*/
public String getC()
return c;
/**
* Set c.
* @param c the value to be set.
*/
public void setC(String c)
this.c = c;
java
java
New contributor
New contributor
New contributor
asked 20 secs ago
user3624390user3624390
1
1
New contributor
New contributor
add a comment |
add a comment |
0
active
oldest
votes
Your Answer
StackExchange.ifUsing("editor", function ()
return StackExchange.using("mathjaxEditing", function ()
StackExchange.MarkdownEditor.creationCallbacks.add(function (editor, postfix)
StackExchange.mathjaxEditing.prepareWmdForMathJax(editor, postfix, [["\$", "\$"]]);
);
);
, "mathjax-editing");
StackExchange.ifUsing("editor", function ()
StackExchange.using("externalEditor", function ()
StackExchange.using("snippets", function ()
StackExchange.snippets.init();
);
);
, "code-snippets");
StackExchange.ready(function()
var channelOptions =
tags: "".split(" "),
id: "196"
;
initTagRenderer("".split(" "), "".split(" "), channelOptions);
StackExchange.using("externalEditor", function()
// Have to fire editor after snippets, if snippets enabled
if (StackExchange.settings.snippets.snippetsEnabled)
StackExchange.using("snippets", function()
createEditor();
);
else
createEditor();
);
function createEditor()
StackExchange.prepareEditor(
heartbeatType: 'answer',
autoActivateHeartbeat: false,
convertImagesToLinks: false,
noModals: true,
showLowRepImageUploadWarning: true,
reputationToPostImages: null,
bindNavPrevention: true,
postfix: "",
imageUploader:
brandingHtml: "Powered by u003ca class="icon-imgur-white" href="https://imgur.com/"u003eu003c/au003e",
contentPolicyHtml: "User contributions licensed under u003ca href="https://creativecommons.org/licenses/by-sa/3.0/"u003ecc by-sa 3.0 with attribution requiredu003c/au003e u003ca href="https://stackoverflow.com/legal/content-policy"u003e(content policy)u003c/au003e",
allowUrls: true
,
onDemand: true,
discardSelector: ".discard-answer"
,immediatelyShowMarkdownHelp:true
);
);
user3624390 is a new contributor. Be nice, and check out our Code of Conduct.
Sign up or log in
StackExchange.ready(function ()
StackExchange.helpers.onClickDraftSave('#login-link');
);
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
StackExchange.ready(
function ()
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fcodereview.stackexchange.com%2fquestions%2f216993%2fabstracting-getter-and-setter-method-references-for-testing%23new-answer', 'question_page');
);
Post as a guest
Required, but never shown
0
active
oldest
votes
0
active
oldest
votes
active
oldest
votes
active
oldest
votes
user3624390 is a new contributor. Be nice, and check out our Code of Conduct.
user3624390 is a new contributor. Be nice, and check out our Code of Conduct.
user3624390 is a new contributor. Be nice, and check out our Code of Conduct.
user3624390 is a new contributor. Be nice, and check out our Code of Conduct.
Thanks for contributing an answer to Code Review Stack Exchange!
- Please be sure to answer the question. Provide details and share your research!
But avoid …
- Asking for help, clarification, or responding to other answers.
- Making statements based on opinion; back them up with references or personal experience.
Use MathJax to format equations. MathJax reference.
To learn more, see our tips on writing great answers.
Sign up or log in
StackExchange.ready(function ()
StackExchange.helpers.onClickDraftSave('#login-link');
);
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
StackExchange.ready(
function ()
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fcodereview.stackexchange.com%2fquestions%2f216993%2fabstracting-getter-and-setter-method-references-for-testing%23new-answer', 'question_page');
);
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function ()
StackExchange.helpers.onClickDraftSave('#login-link');
);
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function ()
StackExchange.helpers.onClickDraftSave('#login-link');
);
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function ()
StackExchange.helpers.onClickDraftSave('#login-link');
);
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown