anchor.diff:  // for details. All rights reserved. Use of this source code is governed by a
   // BSD-style license that can be found in the LICENSE file.
   
  -//import 'dart:io';
  -
  +import 'dart:io';
  +
  +import 'package:path/path.dart';
   import 'package:unittest/unittest.dart';
   
   import 'package:analyzer/src/generated/java_core.dart' show CharSequence;
  
positive.code:     expect(formatStatement(src, options:
        new FormatterOptions(codeTransforms: transforms)), equals(expected));
  
  runTests(testFile, expectClause(input, output)) {
  
    var testIndex = 1;
    var lines = testFile.readAsLinesSync();
  
    for (var i = 1; i < lines.length; ++i) {
      var input = '', expectedOutput = '';
      while(lines[i] != '<<<') {
        input += lines[i++] + '\n';
      }
      while(++i < lines.length && lines[i] != '>>>') {
        expectedOutput += lines[i] + '\n';
      }
      test('test - (${testIndex++})', () {
  
negative.code: import 'package:analyzer/src/services/formatter_impl.dart';
  import 'package:analyzer/src/services/writer.dart';
  
  // Test data location ('pkg/analyzer/test/services/data')
  final TEST_DATA_DIR = join(dirname(fromUri(Platform.script)), 'data');
  
  main() {
  
    /// Data-driven statement tests
    group('stmt_tests.data', () {
      runTests('stmt_tests.data', (input, expectedOutput) {
        expect(formatStatement(input) + '\n', equals(expectedOutput));
      });
    });
  
    /// Data-driven compilation unit tests
    group('cu_tests.data', () {
      runTests('cu_tests.data', (input, expectedOutput) {
        expectCUFormatsTo(input, expectedOutput);
      });
    });
  
    /// Data-driven Style Guide acceptance tests
    group('style_guide_tests.data', () {
      runTests('style_guide_tests.data', (input, expectedOutput) {
        expectCUFormatsTo(input, expectedOutput);
      });
    });
  
    /// Formatter tests
    group('formatter', () {
  