public void MultipleListenersTest() { const string key1 = "first"; const string key2 = "second"; const string key3 = "third"; for (int changingListeners = 0; changingListeners <= 2; changingListeners++) { for (int changedListeners = 0; changedListeners <= 2; changedListeners++) { JsonArrayTest.MultipleListenersTestHelper <JsonObject>( () => new JsonObject { { key1, 1 }, { key2, 2 } }, delegate(JsonObject obj) { obj[key2] = "hello"; obj.Remove(key1); obj.Add(key3, "world"); obj.Clear(); }, new List <JsonValueChangeEventArgs> { new JsonValueChangeEventArgs("hello", JsonValueChange.Replace, key2), new JsonValueChangeEventArgs(1, JsonValueChange.Remove, key1), new JsonValueChangeEventArgs("world", JsonValueChange.Add, key3), new JsonValueChangeEventArgs(null, JsonValueChange.Clear, null), }, new List <JsonValueChangeEventArgs> { new JsonValueChangeEventArgs(2, JsonValueChange.Replace, key2), new JsonValueChangeEventArgs(1, JsonValueChange.Remove, key1), new JsonValueChangeEventArgs("world", JsonValueChange.Add, key3), new JsonValueChangeEventArgs(null, JsonValueChange.Clear, null), }, changingListeners, changedListeners); } } }
private static void TestEvents(JsonObject obj, Action <JsonObject> actionToTriggerEvent, List <Tuple <bool, JsonValue, JsonValueChangeEventArgs> > expectedEvents) { JsonArrayTest.TestEvents <JsonObject>(obj, actionToTriggerEvent, expectedEvents); }