anchor.diff:  }
   
   /// Test fixture object with tweenable properties
  -class MyTweenable {
  +class MyTweenable implements Tweenable {
  +  static const int ANSWER = 1;
  +  static const int CIRCLE = 2;
  +
     int answer = 42;
     num circle = 6.2831853;
  +
  +  int getTweenableValues(int tweenType, List<num> returnValues) {
  +    if (tweenType == ANSWER) {
  +      returnValues[0] = answer;
  +    } else if (tweenType == CIRCLE) {
  +      returnValues[0] = circle;
  +    }
  +    return 1;
  +  }
  +
  +  void setTweenableValues(int tweenType, List<num> newValues) {
  +    if (tweenType == ANSWER) {
  +      answer = newValues[0];
  +    } else if (tweenType == CIRCLE) {
  +      circle = newValues[0];
  +    }
  +  }
   }
  +
  +
  +// This is a very crude test suite, not covering much of the code base.
  +// Some ideas of tests :
  +// - backward events
  +// - meaningful exceptions :
  +//   - myClass with null properties
  +//   - myClass with non-numeric properties
  +
  +
   
   main() {
   
  
positive.code: 
    });
  
  }
negative.code:       myCallback.onEvent = (type, tween) {
          switch(type) {
            case TweenCallback.BEGIN:
              expectOnBegin(tween);
              break;
            case TweenCallback.COMPLETE:
              expectOnComplete(tween);
              break;
            case TweenCallback.START:
              expectOnStart(tween);
              break;
            case TweenCallback.END:
              expectOnEnd(tween);
              break;
            default:
              print('DEFAULT CALLBACK CAUGHT ; type = ' + type.toString());
          }
        };
  
        Tween.to(myClass, MyAccessor.XY, 1.0)
          ..targetValues = [20, 30]
          ..easing = Elastic.INOUT
  