public void AsyncStorageModule_multiMerge_NullValue() { var array = new[] { new[] { "testKey", string.Join("", Enumerable.Repeat("a", 1024 * 16)) }, }; module.multiMerge(array, callback); Assert.That(waitHandle.WaitOne(), Is.True); Assert.That(error, Is.Null); Assert.That(result, Is.Null); }
public void AsyncStorageModule_multiMerge_NullValue() { var module = new AsyncStorageModule(); var waitHandle = new AutoResetEvent(false); var error = default(JObject); var result = default(JArray); var callback = new MockCallback(res => { error = res.Length > 0 ? (JObject)res[0] : null; result = res.Length > 1 ? (JArray)res[1] : null; waitHandle.Set(); }); module.clear(callback); Assert.IsTrue(waitHandle.WaitOne()); Assert.IsNull(error); Assert.IsNull(result); var array = new[] { new[] { "testKey", string.Join("", Enumerable.Repeat("a", 1024 * 16)) }, }; module.multiMerge(array, callback); Assert.IsTrue(waitHandle.WaitOne()); Assert.IsNull(error); Assert.IsNull(result); }
public void AsyncStorageModule_testMultiMerge() { var mStorage = new AsyncStorageModule(); var waitHandle = new AutoResetEvent(false); var error = default(JObject); var result = default(JArray); var callback = new MockCallback(res => { error = res.Length > 0 ? (JObject)res[0] : null; result = res.Length > 1 ? (JArray)res[1] : null; waitHandle.Set(); }); mStorage.clear(callback); Assert.IsTrue(waitHandle.WaitOne()); Assert.IsNull(error); Assert.IsNull(result); var mergeKey = "mergeTest"; var value = new JObject(); value.Add("foo1", "bar1"); value.Add("foo2", new JArray { "val1", "val2", 3, }); value.Add("foo3", 1001); var val = new JObject(); val.Add("key1", "randomValueThatWillNeverBeUsed"); value.Add("foo4", val); var array = new[] { new[] { mergeKey, value.ToString(Formatting.None) }, }; mStorage.multiSet(array, callback); Assert.IsTrue(waitHandle.WaitOne()); Assert.IsNull(error); Assert.IsNull(result); var str = new string[] { mergeKey }; mStorage.multiGet(str, callback); Assert.IsTrue(waitHandle.WaitOne()); Assert.IsNull(error); var expected = JToken.FromObject(array); Assert.IsTrue(JToken.DeepEquals(result, expected)); value.Remove("foo1"); value.Remove("foo2"); value.Remove("foo3"); value.Remove("foo4"); value.Add("foo1", 1001); var val2 = new JObject(); val2.Add("key1", "val1"); value.Add("foo2", val2); value.Add("foo3", "bar1"); value.Add("foo4", new JArray { "val1", "val2", 3 }); var newValue = new JObject(); var val3 = new JObject(); val3.Add("key2", "val2"); newValue.Add("foo2", val3); var newValue2 = new JObject(); var val4 = new JObject(); val4.Add("key1", "val3"); newValue2.Add("foo2", val4); var array2 = new[] { new[] { mergeKey, value.ToString(Formatting.None) }, }; mStorage.multiMerge(array2, callback); Assert.IsTrue(waitHandle.WaitOne()); Assert.IsNull(error); Assert.IsNull(result); var array3 = new[] { new[] { mergeKey, newValue.ToString(Formatting.None), }, }; mStorage.multiMerge(array3, callback); Assert.IsTrue(waitHandle.WaitOne()); Assert.IsNull(error); Assert.IsNull(result); var array4 = new[] { new[] { mergeKey, newValue2.ToString(Formatting.None), }, }; mStorage.multiMerge(array4, callback); Assert.IsTrue(waitHandle.WaitOne()); Assert.IsNull(error); Assert.IsNull(result); value.Remove("foo2"); var val5 = new JObject(); val5.Add("key1", "val3"); val5.Add("key2", "val2"); value.Add("foo2", val5); mStorage.multiGet(str, callback); Assert.IsTrue(waitHandle.WaitOne()); Assert.IsNull(error); expected = JToken.FromObject(array); Assert.IsTrue(JToken.DeepEquals(value, JObject.Parse(result.Last.Value<JArray>().Last.Value<string>()))); }
public void AsyncStorageModule_testMultiMerge() { var mStorage = new AsyncStorageModule(); var waitHandle = new AutoResetEvent(false); var error = default(JObject); var result = default(JArray); var callback = new MockCallback(res => { error = res.Length > 0 ? (JObject)res[0] : null; result = res.Length > 1 ? (JArray)res[1] : null; waitHandle.Set(); }); mStorage.clear(callback); Assert.IsTrue(waitHandle.WaitOne()); Assert.IsNull(error); Assert.IsNull(result); var mergeKey = "mergeTest"; var value = new JObject(); value.Add("foo1", "bar1"); value.Add("foo2", new JArray { "val1", "val2", 3, }); value.Add("foo3", 1001); var val = new JObject(); val.Add("key1", "randomValueThatWillNeverBeUsed"); value.Add("foo4", val); var array = new[] { new[] { mergeKey, value.ToString(Formatting.None) }, }; mStorage.multiSet(array, callback); Assert.IsTrue(waitHandle.WaitOne()); Assert.IsNull(error); Assert.IsNull(result); var str = new string[] { mergeKey }; mStorage.multiGet(str, callback); Assert.IsTrue(waitHandle.WaitOne()); Assert.IsNull(error); var expected = JToken.FromObject(array); Assert.IsTrue(JToken.DeepEquals(result, expected)); value.Remove("foo1"); value.Remove("foo2"); value.Remove("foo3"); value.Remove("foo4"); value.Add("foo1", 1001); var val2 = new JObject(); val2.Add("key1", "val1"); value.Add("foo2", val2); value.Add("foo3", "bar1"); value.Add("foo4", new JArray { "val1", "val2", 3 }); var newValue = new JObject(); var val3 = new JObject(); val3.Add("key2", "val2"); newValue.Add("foo2", val3); var newValue2 = new JObject(); var val4 = new JObject(); val4.Add("key1", "val3"); newValue2.Add("foo2", val4); var array2 = new[] { new[] { mergeKey, value.ToString(Formatting.None) }, }; mStorage.multiMerge(array2, callback); Assert.IsTrue(waitHandle.WaitOne()); Assert.IsNull(error); Assert.IsNull(result); var array3 = new[] { new[] { mergeKey, newValue.ToString(Formatting.None), }, }; mStorage.multiMerge(array3, callback); Assert.IsTrue(waitHandle.WaitOne()); Assert.IsNull(error); Assert.IsNull(result); var array4 = new[] { new[] { mergeKey, newValue2.ToString(Formatting.None), }, }; mStorage.multiMerge(array4, callback); Assert.IsTrue(waitHandle.WaitOne()); Assert.IsNull(error); Assert.IsNull(result); value.Remove("foo2"); var val5 = new JObject(); val5.Add("key1", "val3"); val5.Add("key2", "val2"); value.Add("foo2", val5); mStorage.multiGet(str, callback); Assert.IsTrue(waitHandle.WaitOne()); Assert.IsNull(error); expected = JToken.FromObject(array); Assert.IsTrue(JToken.DeepEquals(value, JObject.Parse(result.Last.Value <JArray>().Last.Value <string>()))); }