001package org.xbib.elasticsearch.river.jdbc.support; 002 003import org.testng.Assert; 004import org.testng.annotations.Test; 005import org.xbib.elasticsearch.plugin.jdbc.util.Values; 006 007/** 008 * Unit-test checking basic functionality of {@link Values}. 009 * 010 * @author pdegeus 011 */ 012public class ValuesTests extends Assert { 013 014 @Test 015 public void testSingleValue() { 016 Values<String> vs = new Values<String>(null, "TEST", false); 017 018 Object[] values = vs.getValues(); 019 assertEquals(1, values.length); 020 assertEquals("TEST", values[0]); 021 } 022 023 @Test 024 public void testSingleNull() { 025 Values<String> vs = new Values<String>(null, null, false); 026 027 Object[] values = vs.getValues(); 028 assertEquals(values.length, 1); 029 assertEquals(values[0], null); 030 } 031 032 @Test 033 public void testMultipleValues() { 034 Values<String> vs = null; 035 vs = new Values<String>(vs, "TEST", false); 036 vs = new Values<String>(vs, "TEST2", false); 037 038 Object[] values = vs.getValues(); 039 assertEquals(values.length, 2); 040 assertEquals(values[0], "TEST"); 041 assertEquals(values[1], "TEST2"); 042 } 043 044 @Test 045 public void testMultipleValuesNullFirst() { 046 Values<String> vs = null; 047 vs = new Values<String>(vs, null, false); 048 vs = new Values<String>(vs, "TEST", false); 049 050 Object[] values = vs.getValues(); 051 assertEquals(values.length, 1); 052 assertEquals(values[0], "TEST"); 053 } 054 055 @Test 056 public void testMultipleValuesNullLast() { 057 Values<String> vs = null; 058 vs = new Values<String>(vs, "TEST", false); 059 vs = new Values<String>(vs, null, false); 060 061 Object[] values = vs.getValues(); 062 assertEquals(values.length, 1); 063 assertEquals(values[0], "TEST"); 064 } 065 066 @Test 067 public void testMultipleValuesWithDuplicates() { 068 Values<String> vs = null; 069 vs = new Values<String>(vs, "TEST", false); 070 vs = new Values<String>(vs, "TEST2", false); 071 vs = new Values<String>(vs, "TEST", false); 072 073 Object[] values = vs.getValues(); 074 assertEquals(values.length, 2); 075 assertEquals(values[0], "TEST"); 076 assertEquals(values[1], "TEST2"); 077 } 078 079 @Test 080 public void testMultipleValuesWithDuplicatesAndNull() { 081 Values<String> vs = null; 082 vs = new Values<String>(vs, "TEST", false); 083 vs = new Values<String>(vs, null, false); 084 vs = new Values<String>(vs, "TEST", false); 085 086 Object[] values = vs.getValues(); 087 assertEquals(values.length, 1); 088 assertEquals(values[0], "TEST"); 089 } 090 091 @Test 092 public void testExpandValue() { 093 Values<String> vs = null; 094 vs = new Values<String>(vs, "TEST,TEST2", true); 095 vs = new Values<String>(vs, null, true); 096 vs = new Values<String>(vs, "TEST3,TEST2", true); 097 098 Object[] values = vs.getValues(); 099 assertEquals(values.length, 3); 100 assertEquals(values[0], "TEST"); 101 assertEquals(values[1], "TEST2"); 102 assertEquals(values[2], "TEST3"); 103 } 104 105}