package org.ektorp;
import com.fasterxml.jackson.databind.ObjectMapper;
import org.junit.Test;
import java.io.IOException;
import static org.junit.Assert.assertEquals;
import static org.junit.Assert.assertSame;
public class ViewQueryCloneTest {
@Test
public void cloneShouldCopyStartRawKey() throws IOException {
String inputRawKey = "\"hello\"";
Object expectedResult = new ObjectMapper().readTree(inputRawKey);
ViewQuery q = new ViewQuery();
q.rawStartKey(inputRawKey);
assertEquals(expectedResult, q.getStartKey());
ViewQuery clone = q.clone();
assertEquals(expectedResult, clone.getStartKey());
}
@Test
public void cloneShouldCopyEndRawKey() throws IOException {
String inputRawKey = "\"hello\"";
Object expectedResult = new ObjectMapper().readTree(inputRawKey);
ViewQuery q = new ViewQuery();
q.rawEndKey(inputRawKey);
assertEquals(expectedResult, q.getEndKey());
ViewQuery clone = q.clone();
assertEquals(expectedResult, clone.getEndKey());
}
@Test
public void cloneShouldCopyRawKey() throws IOException {
String inputRawKey = "\"hello\"";
Object expectedResult = new ObjectMapper().readTree(inputRawKey);
ViewQuery q = new ViewQuery();
q.rawKey(inputRawKey);
assertEquals(expectedResult, q.getKey());
ViewQuery clone = q.clone();
assertEquals(expectedResult, clone.getKey());
}
@Test
public void cloneShouldCopyStartKey() {
Object inputKeyObject = "hello";
ViewQuery q = new ViewQuery();
q.startKey(inputKeyObject);
assertEquals(inputKeyObject, q.getStartKey());
ViewQuery clone = q.clone();
assertEquals(inputKeyObject, clone.getStartKey());
}
@Test
public void cloneShouldCopyEndKey() {
Object inputKeyObject = "hello";
ViewQuery q = new ViewQuery();
q.endKey(inputKeyObject);
assertEquals(inputKeyObject, q.getEndKey());
ViewQuery clone = q.clone();
assertEquals(inputKeyObject, clone.getEndKey());
}
@Test
public void cloneShouldCopyKey() {
Object inputKeyObject = "hello";
ViewQuery q = new ViewQuery();
q.key(inputKeyObject);
assertEquals(inputKeyObject, q.getKey());
ViewQuery clone = q.clone();
assertEquals(inputKeyObject, clone.getKey());
}
@Test
public void cloneShouldCopyStartKeyWithSameInstance() {
Object inputKeyObject = new Object();
ViewQuery q = new ViewQuery();
q.startKey(inputKeyObject);
assertEquals(inputKeyObject, q.getStartKey());
ViewQuery clone = q.clone();
assertEquals(inputKeyObject, clone.getStartKey());
assertSame(inputKeyObject, clone.getStartKey());
}
@Test
public void cloneShouldCopyEndKeyWithSameInstance() {
Object inputKeyObject = new Object();
ViewQuery q = new ViewQuery();
q.endKey(inputKeyObject);
assertEquals(inputKeyObject, q.getEndKey());
ViewQuery clone = q.clone();
assertEquals(inputKeyObject, clone.getEndKey());
assertSame(inputKeyObject, clone.getEndKey());
}
@Test
public void cloneShouldCopyKeyWithSameInstance() {
Object inputKeyObject = new Object();
ViewQuery q = new ViewQuery();
q.key(inputKeyObject);
assertEquals(inputKeyObject, q.getKey());
ViewQuery clone = q.clone();
assertEquals(inputKeyObject, clone.getKey());
assertSame(inputKeyObject, clone.getKey());
}
}