Esempio n. 1
0
 private void Child_Changed(object sender, JsonValueChangeEventArgs e)
 {
     for (int i = 0; i < this.grid.Items.Count; i++)
     {
         if (this.grid.Items[i] == sender)
         {
             int index = this.grid.Items.IndexOf(this.grid.Items[i]);
             this.grid.Items.RemoveAt(index);
             this.grid.Items.Insert(index, sender);
         }
     }
 }
Esempio n. 2
0
        private void Items_Changed(object sender, JsonValueChangeEventArgs e)
        {
            switch (e.Change)
            {
            case JsonValueChange.Add:
                this.grid.Items.Insert(e.Index, e.Child);
                break;

            case JsonValueChange.Remove:
                this.grid.Items.RemoveAt(e.Index);
                break;
            }
        }
Esempio n. 3
0
        private static void ValidateExpectedEvents(List <Tuple <bool, JsonValue, JsonValueChangeEventArgs> > expectedEvents, List <Tuple <bool, JsonValue, JsonValueChangeEventArgs> > actualEvents)
        {
            Assert.AreEqual(expectedEvents.Count, actualEvents.Count);
            for (int i = 0; i < expectedEvents.Count; i++)
            {
                bool expectedIsChanging = expectedEvents[i].Item1;
                bool actualIsChanging   = expectedEvents[i].Item1;
                Assert.AreEqual(expectedIsChanging, actualIsChanging, string.Format("Event raised is different for expected event {0}: expected Chang{1}, actual Chang{2}", i, expectedIsChanging ? "ing" : "ed", actualIsChanging ? "ing" : "ed"));

                JsonValue expectedSender = expectedEvents[i].Item2;
                JsonValue actualSender   = actualEvents[i].Item2;
                Assert.AreEqual(expectedSender, actualSender, string.Format("Sender is different for expected event {0}: expected {1}, actual {2}", i, expectedSender, actualSender));

                JsonValueChangeEventArgs expectedEventArgs = expectedEvents[i].Item3;
                JsonValueChangeEventArgs actualEventArgs   = actualEvents[i].Item3;
                Assert.AreEqual(expectedEventArgs.Change, actualEventArgs.Change, string.Format("JVChangeEventArgs.Change is different for event {0}: expected {1}, actual {2}", i, expectedEventArgs.Change, actualEventArgs.Change));
                Assert.AreEqual(expectedEventArgs.Index, actualEventArgs.Index, string.Format("JVChangeEventArgs.Index is different for event {0}: expected {1}, actual {2}", i, expectedEventArgs.Index, actualEventArgs.Index));
                Assert.AreEqual(expectedEventArgs.Key, actualEventArgs.Key, string.Format("JVChangeEventArgs.Key is different for event {0}: expected {1}, actual {2}", i, expectedEventArgs.Key ?? "<<null>>", actualEventArgs.Key ?? "<<null>>"));

                string expectedChild = expectedEventArgs.Child == null ? "null" : expectedEventArgs.Child.ToString();
                string actualChild   = actualEventArgs.Child == null ? "null" : actualEventArgs.Child.ToString();
                Assert.AreEqual(expectedChild, actualChild, string.Format("JVChangeEventArgs.Child is different for event {0}: expected {1}, actual {2}", i, expectedChild, actualChild));
            }
        }
Esempio n. 4
0
 private static void PreventChanging(object sender, JsonValueChangeEventArgs e)
 {
     throw new InvalidOperationException("AnyInstance.AnyJsonArray or AnyJsonObject cannot be modified; please clone the instance if the test needs to change it.");
 }