package net.varkhan.base.functor.curry; import junit.framework.TestCase; /** * <b></b>. * <p/> * * @author varkhan * @date 12/1/13 * @time 1:22 PM */ public class TupleTest extends TestCase { public void testLvalue() throws Exception { Tuple<Integer,Tuple<String,Tuple>> t1 = new Tuple.Value<Integer,Tuple<String,Tuple>>(3); assertEquals("lval",(Object)3,t1.lvalue()); assertEquals("rval",null,t1._value()); Tuple<Integer,Tuple<String,Tuple>> t2 = new Tuple.Value<Integer,Tuple<String,Tuple>>(3,"s"); assertEquals("lval",(Object)3,t2.lvalue()); } public void test_value() throws Exception { Tuple<Integer,Tuple<String,Tuple>> t1 = new Tuple.Value<Integer,Tuple<String,Tuple>>(3); assertEquals("rval",null,t1._value()); Tuple<Integer,Tuple<String,Tuple>> t2 = new Tuple.Value<Integer,Tuple<String,Tuple>>(3,"s"); assertEquals("rval","s",t2._value().lvalue()); assertEquals("rval",null,t2._value()._value()); } public void testValues() throws Exception { Tuple<Integer,Tuple<String,Tuple>> t1 = new Tuple.Value<Integer,Tuple<String,Tuple>>(3); assertEquals("vals",1,t1.values().length); assertEquals("vals",3,t1.values()[0]); Tuple<Integer,Tuple<String,Tuple>> t2 = new Tuple.Value<Integer,Tuple<String,Tuple>>(3,"s"); assertEquals("vals",2,t2.values().length); assertEquals("vals",3,t2.values()[0]); assertEquals("vals","s",t2.values()[1]); } public void testString() throws Exception { Tuple<Integer,Tuple<String,Tuple<Boolean,Tuple>>> t2 = new Tuple.Value<Integer,Tuple<String,Tuple<Boolean,Tuple>>>(3,"s",true); assertEquals("toString","(3,s,true)",t2.toString()); } }