anchor.diff:    expect(manager.selectedIndex, equals(-1));
     expect(manager.hasSelection, isFalse);
     expect(manager.any((s) => s.isSelected), isFalse);
  +}
  +
  +void _expectNoSelectionChanges(List<ChangeRecord> changes) {
  +  var safeChanges = (changes == null) ? [] : changes;
  +
  +  var propChangeSymbols = safeChanges
  +      .where((ChangeRecord cr) => cr is PropertyChangeRecord)
  +      .map((PropertyChangeRecord pcr) => pcr.field)
  +      .toList();
  +
  +  const selectChangeFields = const [const Symbol('hasSelection'),
  +                                    const Symbol('selectedIndex'),
  +                                    const Symbol('selectedItem')];
  +
  +  selectChangeFields.forEach((field) {
  +    expect(propChangeSymbols, isNot(contains(field)));
  +  });
   }
   
   void _expectSelection(SelectionManager manager) {
  
positive.code:     _expectPropChanges(changes, []);
  
    });
  }
  
  void _expectPropChanges(List<ChangeRecord> changes, List<Symbol> propNames) {
  
negative.code: import 'package:observe/observe.dart';
  import 'package:nv/src/shared.dart';
  import 'package:unittest/unittest.dart';
  
  import '../src/observe_test_utils.dart';
  
  void main() {
    SelectionManager<int> manager;
  