package com.kstenschke.shifter.models;
import com.kstenschke.shifter.models.ShiftableWord;
import org.junit.After;
import org.junit.Before;
import org.junit.Test;
import static org.junit.Assert.*;
public class ShiftableWordTest {
@Before
public void setUp() throws Exception {
}
@After
public void tearDown() throws Exception {
}
@Test
public void testGetShifted() throws Exception {
// ------------------------------------------------- CSS properties
// ------------------------------------------------- test: shift numbers
String filename = "style.css";
String editorText =
"body {" + "\n" +
" margin: 0 1 2px 3%;" + "\n" +
"}" + "\n";
String line = " margin: 0 1 2 3;";
int caretOffset = 18;
ShiftableWord shiftableShiftableWord = new ShiftableWord("0", " ", " ", line, editorText, caretOffset, filename, null);
assertEquals("1", shiftableShiftableWord.getShifted(true, null));
assertEquals("-1", shiftableShiftableWord.getShifted(false, null));
caretOffset = 20;
shiftableShiftableWord = new ShiftableWord("1", " ", " ", line, editorText, caretOffset, filename, null);
assertEquals("2", shiftableShiftableWord.getShifted(true, null));
assertEquals("0", shiftableShiftableWord.getShifted(false, null));
caretOffset = 22;
shiftableShiftableWord = new ShiftableWord("2", " ", "px", line, editorText, caretOffset, filename, null);
assertEquals("3", shiftableShiftableWord.getShifted(true, null));
assertEquals("1", shiftableShiftableWord.getShifted(false, null));
caretOffset = 24;
shiftableShiftableWord = new ShiftableWord("3", " ", "%", line, editorText, caretOffset, filename, null);
assertEquals("4", shiftableShiftableWord.getShifted(true, null));
assertEquals("2", shiftableShiftableWord.getShifted(false, null));
// ------------------------------------------------- test: convert 3 digits RGB to 6 digits
editorText =
"body {" + "\n" +
" color: #111;" + "\n" +
"}" + "\n";
line = " color: #111;";
caretOffset = 18;
shiftableShiftableWord = new ShiftableWord("111", "#", ";", line, editorText, caretOffset, filename, null);
assertEquals("121212", shiftableShiftableWord.getShifted(true, null));
assertEquals("101010", shiftableShiftableWord.getShifted(false, null));
// ------------------------------------------------- test: shift RGB up/down
editorText =
"body {" + "\n" +
" color: #111111;" + "\n" +
"}" + "\n";
line = " color: #111111;";
caretOffset = 18;
shiftableShiftableWord = new ShiftableWord("111111", "#", ";", line, editorText, caretOffset, filename, null);
assertEquals("121212", shiftableShiftableWord.getShifted(true, null));
assertEquals("101010", shiftableShiftableWord.getShifted(false, null));
// ------------------------------------------------- test: shift UNIX timestamp by 1 day
filename = "index.php";
editorText =
"<?php" + "\n" +
" $timestamp = 1262304000;" + "\n"; // 1.1.2010
line = " $timestamp = 1262304000;";
caretOffset = 23;
shiftableShiftableWord = new ShiftableWord("1262304000", " ", ";", line, editorText, caretOffset, filename, null);
assertEquals("1262390400", shiftableShiftableWord.getShifted(true, null));
assertEquals("1262217600", shiftableShiftableWord.getShifted(false, null));
}
}