/*
* Copyright 2012-2017 CodeLibs Project and the Others.
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND,
* either express or implied. See the License for the specific language
* governing permissions and limitations under the License.
*/
package org.codelibs.fess.dict.synonym;
import org.codelibs.fess.unit.UnitFessTestCase;
public class SynonymItemTest extends UnitFessTestCase {
public void test_new1() {
final SynonymItem synonymItem = new SynonymItem(1, new String[] { "a", "A" }, new String[] { "b", "B" });
assertEquals(1, synonymItem.getId());
assertEquals(2, synonymItem.getInputs().length);
assertEquals("A", synonymItem.getInputs()[0]);
assertEquals("a", synonymItem.getInputs()[1]);
assertEquals(2, synonymItem.getOutputs().length);
assertEquals("B", synonymItem.getOutputs()[0]);
assertEquals("b", synonymItem.getOutputs()[1]);
assertNull(synonymItem.getNewInputs());
assertNull(synonymItem.getNewOutputs());
assertFalse(synonymItem.isUpdated());
assertFalse(synonymItem.isDeleted());
synonymItem.setNewInputs(new String[] { "1", "2" });
synonymItem.setNewOutputs(new String[] { "3", "4" });
assertTrue(synonymItem.isUpdated());
assertFalse(synonymItem.isDeleted());
synonymItem.setNewInputs(new String[0]);
synonymItem.setNewOutputs(new String[0]);
assertTrue(synonymItem.isUpdated());
assertTrue(synonymItem.isDeleted());
}
public void test_new2() {
final SynonymItem synonymItem = new SynonymItem(1, new String[] { "A", "a" }, new String[] { "B", "b" });
assertEquals(1, synonymItem.getId());
assertEquals(2, synonymItem.getInputs().length);
assertEquals("A", synonymItem.getInputs()[0]);
assertEquals("a", synonymItem.getInputs()[1]);
assertEquals(2, synonymItem.getOutputs().length);
assertEquals("B", synonymItem.getOutputs()[0]);
assertEquals("b", synonymItem.getOutputs()[1]);
assertNull(synonymItem.getNewInputs());
assertNull(synonymItem.getNewOutputs());
assertFalse(synonymItem.isUpdated());
assertFalse(synonymItem.isDeleted());
synonymItem.setNewInputs(new String[] { "2", "1" });
synonymItem.setNewOutputs(new String[] { "4", "3" });
assertTrue(synonymItem.isUpdated());
assertFalse(synonymItem.isDeleted());
synonymItem.setNewInputs(new String[0]);
synonymItem.setNewOutputs(new String[0]);
assertTrue(synonymItem.isUpdated());
assertTrue(synonymItem.isDeleted());
}
public void test_equals1() {
final SynonymItem synonymItem1 = new SynonymItem(1, new String[] { "a", "A" }, new String[] { "b", "B" });
assertTrue(synonymItem1.equals(synonymItem1));
assertTrue(synonymItem1.equals(new SynonymItem(1, new String[] { "A", "a" }, new String[] { "B", "b" })));
assertTrue(synonymItem1.equals(new SynonymItem(2, new String[] { "A", "a" }, new String[] { "B", "b" })));
assertFalse(synonymItem1.equals(new SynonymItem(2, new String[] { "A", "a" }, new String[] { "B", })));
assertFalse(synonymItem1.equals(new SynonymItem(2, new String[] { "A" }, new String[] { "B", "b" })));
assertFalse(synonymItem1.equals(new SynonymItem(1, new String[] { "A", "a" }, new String[] { "B", "c" })));
assertFalse(synonymItem1.equals(new SynonymItem(1, new String[] { "A", "c" }, new String[] { "B", "b" })));
}
public void test_equals2() {
final SynonymItem synonymItem1 = new SynonymItem(1, new String[] { "a" }, new String[] { "b" });
assertTrue(synonymItem1.equals(synonymItem1));
assertTrue(synonymItem1.equals(new SynonymItem(1, new String[] { "a" }, new String[] { "b" })));
assertFalse(synonymItem1.equals(new SynonymItem(2, new String[] { "a" }, new String[] { "B", })));
assertFalse(synonymItem1.equals(new SynonymItem(2, new String[] { "A" }, new String[] { "b" })));
}
public void test_toLineString() {
assertEquals("a1,a2,a3=>b1,b2,b3",
new SynonymItem(1, new String[] { "a1", "a2", "a3" }, new String[] { "b1", "b2", "b3" }).toLineString());
assertEquals("a=>b", new SynonymItem(1, new String[] { "a" }, new String[] { "b" }).toLineString());
assertEquals("A,a=>B,b", new SynonymItem(1, new String[] { "a", "A" }, new String[] { "b", "B" }).toLineString());
assertEquals("A,a", new SynonymItem(1, new String[] { "a", "A" }, new String[] { "a", "A" }).toLineString());
assertEquals("a", new SynonymItem(1, new String[] { "a" }, new String[] { "a" }).toLineString());
}
}