Exemplo n.º 1
0
        public void Complex_Linq_expressions_shall_be_supported_()
        {
            Logging.DebugLogger.EnableLogging(typeof(object), LoggingLevel.Verbose);

            ModelWithRows Model  = new ModelWithRows();
            RowThing      Thing0 = new RowThing(0);
            RowThing      Thing1 = new RowThing(1);
            RowThing      Thing2 = new RowThing(2);

            Model.AddRow(Thing0);
            Model.AddRow(Thing1);
            Model.AddRow(Thing2);
            ThingContainer        Container        = new ThingContainer(Model);
            ThingContainerAdapter ContainerAdapter = new ThingContainerAdapter(Container);

            int OddCollectionChangedEventCount = 0;

            ((INotifyCollectionChanged)ContainerAdapter.OddThings).CollectionChanged += (sender, args) => OddCollectionChangedEventCount++;

            Assert.AreEqual(1, ContainerAdapter.OddThings.Count());
            Assert.AreEqual(1, ContainerAdapter.OddThings.First().ID);

            Thing0.ID = 3;
            Model.InvokeRowChanged();

            Assert.AreEqual(1, OddCollectionChangedEventCount);
            Assert.AreEqual(2, ContainerAdapter.OddThings.Count());
            Assert.AreEqual(3, ContainerAdapter.OddThings.First().ID);
            Assert.AreEqual(1, ContainerAdapter.OddThings.ElementAt(1).ID);
        }
Exemplo n.º 2
0
 public void InvokeRowChanged()
 {
     ModelWithRows.RowsChanged(null, EventArgs.Empty);
 }
Exemplo n.º 3
0
 public void AddRow(RowThing rowThing)
 {
     this.rows.Add(rowThing);
     ModelWithRows.RowsChanged(this, new EventArgs());
 }
Exemplo n.º 4
0
 public ThingContainer(ModelWithRows model)
 {
     this.model = model;
     ModelWithRows.RowsChanged += this.ModelWithRows_RowsChanged;
 }