public void CanParseEmptyArray() { var source = new DummySocketReader("0\r\n"); RESPArray array = RESPArray.Load(source); Assert.AreEqual(0, array.Count); }
public void CanCreateArrayOfArrays() { RESPArray nested1 = new RESPArray(new RESPSimpleString("This is level 1"), new RESPBulkString("Nested\r\nArray\r\n1"), new RESPInteger(1)); RESPArray nested2 = new RESPArray(new RESPSimpleString("This is level 2"), new RESPBulkString("Nested\r\nArray\r\n2"), new RESPInteger(2)); RESPArray array = new RESPArray(nested1, nested2); }
public void CanParseArrayOfArrays() { var source = new DummySocketReader("2\r\n*3\r\n+This is level 1\r\n$16\r\nNested\r\nArray\r\n1\r\n:1\r\n*3\r\n+This is level 2\r\n$16\r\nNested\r\nArray\r\n2\r\n:2\r\n"); RESPArray array = RESPArray.Load(source); Assert.AreEqual(2, array.Count); var nested1 = array.ElementAt <RESPArray>(0); Assert.AreEqual(3, nested1.Count); var nested2 = array.ElementAt <RESPArray>(1); Assert.AreEqual(3, nested2.Count); }
public void CanParseComplexResult() { var array = new RESPArray(BuildArray("a", "b", "c", "d", "e", "f"), BuildArray("g", "h", "i", "j", "k", "l")); var result = new RedisResults(new[] { array }); var rarray = result[0].AsResults()[0].GetStringArray(); Assert.IsNotNull(rarray); Assert.AreEqual(6, rarray.Length); rarray = result[0].AsResults()[1].GetStringArray(); Assert.IsNotNull(rarray); Assert.AreEqual(6, rarray.Length); }
public void CanParseArrayWithNullElement() { var source = new DummySocketReader("3\r\n$3\r\nfoo\r\n$-1\r\n$3\r\nbar\r\n"); RESPArray array = RESPArray.Load(source); Assert.AreEqual(3, array.Count); var item1 = array.ElementAt <RESPBulkString>(0); Assert.AreEqual("foo", item1.Value); var item2 = array.ElementAt <RESPBulkString>(1); Assert.AreEqual(null, item2.Value); var item3 = array.ElementAt <RESPBulkString>(2); Assert.AreEqual("bar", item3.Value); }
public void CanParseArrayWithBreaks() { var source = new DummySocketReader("3\r\n+Hello\r\n$12\r\nBig\r\nWorld\r\n\r\n:1\r\n"); RESPArray array = RESPArray.Load(source); Assert.AreEqual(3, array.Count); var item1 = array.ElementAt <RESPSimpleString>(0); Assert.AreEqual("Hello", item1.Value); var item2 = array.ElementAt <RESPBulkString>(1); Assert.AreEqual("Big\r\nWorld\r\n", item2.Value); var item3 = array.ElementAt <RESPInteger>(2); Assert.AreEqual(1L, item3.Value); }