anchor.diff:  import 'package:analyzer/src/generated/engine.dart';
   import 'package:analyzer/src/generated/error.dart';
   import 'package:analyzer/src/generated/source.dart';
  +import 'package:analyzer/src/string_source.dart';
  +import 'package:cli_util/cli_util.dart';
   import 'package:linter/src/io.dart';
   import 'package:linter/src/linter.dart';
   import 'package:linter/src/rules.dart';
  +import 'package:linter/src/rules/camel_case_types.dart';
  +import 'package:linter/src/rules/library_names.dart';
   import 'package:path/path.dart' as p;
   import 'package:unittest/unittest.dart';
   
   import '../bin/linter.dart' as dartlint;
  -import 'package:linter/src/rules/camel_case_types.dart';
  -import 'package:linter/src/rules/library_names.dart';
   
   const String ruleDir = 'test/rules';
   
  
positive.code:           expect(msg, expected);
          });
        }
        _test(
            'exception',
            'EXCEPTION: LinterException: foo',
            (r) => r.exception(new LinterException('foo')));
        _test('logError', 'ERROR: foo', (r) => r.logError('foo'));
        _test(
            'logError2',
            'ERROR: foo',
            (r) => r.logError2('foo', new Exception()));
        _test('logInformation', 'INFO: foo', (r) => r.logInformation('foo'));
        _test(
            'logInformation2',
            'INFO: foo',
            (r) => r.logInformation2('foo', new Exception()));
        _test('warn', 'WARN: foo', (r) => r.warn('foo'));
      });
  
negative.code:         expect(new CamelCaseString('Foo').humanized, equals('Foo'));
        });
        test('validation', () {
          expect(() => new CamelCaseString('foo'),
              throwsA(new isInstanceOf<ArgumentError>()));
        });
        test('toString', () {
  