mirror of
https://github.com/stleary/JSON-java.git
synced 2026-05-19 00:00:46 -04:00
Adds new tests for testing bean->JSONObject mapping
This commit is contained in:
@@ -0,0 +1,72 @@
|
||||
package org.json.junit.data;
|
||||
|
||||
import java.io.StringReader;
|
||||
|
||||
/**
|
||||
*
|
||||
* @author John Aylward
|
||||
*
|
||||
* @param <T>
|
||||
* generic number value
|
||||
*/
|
||||
public class GenericBean<T extends Number & Comparable<T>> implements MyBean {
|
||||
public GenericBean(T genericValue) {
|
||||
super();
|
||||
this.genericValue = genericValue;
|
||||
}
|
||||
|
||||
/** */
|
||||
private T genericValue;
|
||||
/** to be used by the calling test to see how often the getter is called */
|
||||
public int genericGetCounter;
|
||||
/** to be used by the calling test to see how often the setter is called */
|
||||
public int genericSetCounter;
|
||||
|
||||
/** @return the genericValue */
|
||||
public T getGenericValue() {
|
||||
this.genericGetCounter++;
|
||||
return this.genericValue;
|
||||
}
|
||||
|
||||
/** sets the generic value */
|
||||
public void setGenericValue(T genericValue) {
|
||||
this.genericSetCounter++;
|
||||
this.genericValue = genericValue;
|
||||
}
|
||||
|
||||
@Override
|
||||
public Integer getIntKey() {
|
||||
return Integer.valueOf(42);
|
||||
}
|
||||
|
||||
@Override
|
||||
public Double getDoubleKey() {
|
||||
return Double.valueOf(4.2);
|
||||
}
|
||||
|
||||
@Override
|
||||
public String getStringKey() {
|
||||
return "MyString Key";
|
||||
}
|
||||
|
||||
@Override
|
||||
public String getEscapeStringKey() {
|
||||
return "\"My String with \"s";
|
||||
}
|
||||
|
||||
@Override
|
||||
public Boolean isTrueKey() {
|
||||
return Boolean.TRUE;
|
||||
}
|
||||
|
||||
@Override
|
||||
public Boolean isFalseKey() {
|
||||
return Boolean.FALSE;
|
||||
}
|
||||
|
||||
@Override
|
||||
public StringReader getStringReaderKey() {
|
||||
return new StringReader("Some String Value in a reader");
|
||||
}
|
||||
|
||||
}
|
||||
@@ -0,0 +1,29 @@
|
||||
/**
|
||||
*
|
||||
*/
|
||||
package org.json.junit.data;
|
||||
|
||||
/**
|
||||
* @author john
|
||||
*
|
||||
*/
|
||||
public class GenericBeanInt extends GenericBean<Integer> {
|
||||
/** */
|
||||
final char a = 'A';
|
||||
|
||||
/** return the a */
|
||||
public char getA() {
|
||||
return a;
|
||||
}
|
||||
|
||||
/** return false. should not be beanable */
|
||||
public boolean getable() {
|
||||
return false;
|
||||
}
|
||||
|
||||
/** */
|
||||
public GenericBeanInt(Integer genericValue) {
|
||||
super(genericValue);
|
||||
}
|
||||
|
||||
}
|
||||
@@ -0,0 +1,81 @@
|
||||
package org.json.junit.data;
|
||||
|
||||
/**
|
||||
* Sample singleton for use with bean testing.
|
||||
*
|
||||
* @author John Aylward
|
||||
*
|
||||
*/
|
||||
public final class Singleton {
|
||||
/** */
|
||||
private int someInt;
|
||||
/** */
|
||||
private String someString;
|
||||
/** single instance. */
|
||||
private static final Singleton INSTANCE = new Singleton();
|
||||
|
||||
/** @return the singleton instance. */
|
||||
public static final Singleton getInstance() {
|
||||
return INSTANCE;
|
||||
}
|
||||
|
||||
/** */
|
||||
private Singleton() {
|
||||
if (INSTANCE != null) {
|
||||
throw new IllegalStateException("Already instantiated");
|
||||
}
|
||||
}
|
||||
|
||||
@Override
|
||||
protected Object clone() throws CloneNotSupportedException {
|
||||
return INSTANCE;
|
||||
}
|
||||
|
||||
/** @return someInt */
|
||||
public int getSomeInt() {
|
||||
return someInt;
|
||||
}
|
||||
|
||||
/** sets someInt */
|
||||
public void setSomeInt(int someInt) {
|
||||
this.someInt = someInt;
|
||||
}
|
||||
|
||||
/** @return someString */
|
||||
public String getSomeString() {
|
||||
return someString;
|
||||
}
|
||||
|
||||
/** sets someString */
|
||||
public void setSomeString(String someString) {
|
||||
this.someString = someString;
|
||||
}
|
||||
|
||||
@Override
|
||||
public int hashCode() {
|
||||
final int prime = 31;
|
||||
int result = 1;
|
||||
result = prime * result + someInt;
|
||||
result = prime * result + ((someString == null) ? 0 : someString.hashCode());
|
||||
return result;
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean equals(Object obj) {
|
||||
if (this == obj)
|
||||
return true;
|
||||
if (obj == null)
|
||||
return false;
|
||||
if (getClass() != obj.getClass())
|
||||
return false;
|
||||
Singleton other = (Singleton) obj;
|
||||
if (someInt != other.someInt)
|
||||
return false;
|
||||
if (someString == null) {
|
||||
if (other.someString != null)
|
||||
return false;
|
||||
} else if (!someString.equals(other.someString))
|
||||
return false;
|
||||
return true;
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,49 @@
|
||||
package org.json.junit.data;
|
||||
|
||||
/**
|
||||
* Sample singleton done as an Enum for use with bean testing.
|
||||
*
|
||||
* @author John Aylward
|
||||
*
|
||||
*/
|
||||
public enum SingletonEnum {
|
||||
INSTANCE;
|
||||
/** */
|
||||
private int someInt;
|
||||
/** */
|
||||
private String someString;
|
||||
|
||||
/** single instance. */
|
||||
|
||||
/**
|
||||
* @return the singleton instance. I a real application, I'd hope no one did
|
||||
* this to an enum singleton.
|
||||
*/
|
||||
public static final SingletonEnum getInstance() {
|
||||
return INSTANCE;
|
||||
}
|
||||
|
||||
/** */
|
||||
private SingletonEnum() {
|
||||
}
|
||||
|
||||
/** @return someInt */
|
||||
public int getSomeInt() {
|
||||
return someInt;
|
||||
}
|
||||
|
||||
/** sets someInt */
|
||||
public void setSomeInt(int someInt) {
|
||||
this.someInt = someInt;
|
||||
}
|
||||
|
||||
/** @return someString */
|
||||
public String getSomeString() {
|
||||
return someString;
|
||||
}
|
||||
|
||||
/** sets someString */
|
||||
public void setSomeString(String someString) {
|
||||
this.someString = someString;
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,45 @@
|
||||
/**
|
||||
*
|
||||
*/
|
||||
package org.json.junit.data;
|
||||
|
||||
import java.util.ArrayList;
|
||||
import java.util.Arrays;
|
||||
import java.util.List;
|
||||
|
||||
/**
|
||||
* @author John Aylward
|
||||
*/
|
||||
public class WeirdList {
|
||||
/** */
|
||||
private final List<Integer> list = new ArrayList<>();
|
||||
|
||||
public WeirdList(Integer... vals) {
|
||||
this.list.addAll(Arrays.asList(vals));
|
||||
}
|
||||
|
||||
/** gets a copy of the list */
|
||||
public List<Integer> get() {
|
||||
return new ArrayList<>(this.list);
|
||||
}
|
||||
|
||||
/** gets a copy of the list */
|
||||
public List<Integer> getALL() {
|
||||
return new ArrayList<>(this.list);
|
||||
}
|
||||
|
||||
/** get an index */
|
||||
public Integer get(int i) {
|
||||
return this.list.get(i);
|
||||
}
|
||||
|
||||
/** get an index */
|
||||
public int getInt(int i) {
|
||||
return this.list.get(i);
|
||||
}
|
||||
|
||||
/** adds a new value to the end of the list */
|
||||
public void add(Integer value) {
|
||||
this.list.add(value);
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user