Add more tests
diff --git a/test/lcov_test.dart b/test/lcov_test.dart
index 827b335..05ef910 100644
--- a/test/lcov_test.dart
+++ b/test/lcov_test.dart
@@ -27,6 +27,8 @@
 
     final sampleAppHitMap = hitmap[_sampleAppFileUri];
     final sampleAppHitLines = sampleAppHitMap?.lineHits;
+    final sampleAppHitFuncs = sampleAppHitMap?.funcHits;
+    final sampleAppFuncNames = sampleAppHitMap?.funcNames;
 
     expect(sampleAppHitLines, containsPair(46, greaterThanOrEqualTo(1)),
         reason: 'be careful if you modify the test file');
@@ -34,6 +36,12 @@
         reason: 'be careful if you modify the test file');
     expect(sampleAppHitLines, isNot(contains(32)),
         reason: 'be careful if you modify the test file');
+    expect(sampleAppHitFuncs, containsPair(45, 1),
+        reason: 'be careful if you modify the test file');
+    expect(sampleAppHitFuncs, containsPair(49, 0),
+        reason: 'be careful if you modify the test file');
+    expect(sampleAppFuncNames, containsPair(45, 'usedMethod'),
+        reason: 'be careful if you modify the test file');
   });
 
   group('LcovFormatter', () {
@@ -143,6 +151,26 @@
       expect(res, isNot(contains(p.absolute(_isolateLibPath))));
       expect(res, contains(p.absolute(p.join('lib', 'src', 'util.dart'))));
     });
+
+    test('format() functions', () async {
+      final hitmap = await _getHitMap();
+
+      final resolver = Resolver(packagesPath: '.packages');
+      final formatter =
+          PrettyPrintFormatter(resolver, Loader(), reportFuncs: true);
+
+      final res = await formatter.format(hitmap);
+
+      expect(res, contains(p.absolute(_sampleAppPath)));
+      expect(res, contains(p.absolute(_isolateLibPath)));
+      expect(res, contains(p.absolute(p.join('lib', 'src', 'util.dart'))));
+
+      // be very careful if you change the test file
+      expect(res, contains('      1|Future<Null> main() async {'));
+      expect(res, contains('      1|int usedMethod(int a, int b) {'));
+      expect(res, contains('      0|int unusedMethod(int a, int b) {'));
+      expect(res, contains('       |  return a + b;'));
+    });
   });
 }
 
diff --git a/test/run_and_collect_test.dart b/test/run_and_collect_test.dart
index 2b1e47c..b18ccf0 100644
--- a/test/run_and_collect_test.dart
+++ b/test/run_and_collect_test.dart
@@ -43,6 +43,8 @@
 
     final actualHitMap = hitMap[_isolateLibFileUri];
     final actualLineHits = actualHitMap?.lineHits;
+    final actualFuncHits = actualHitMap?.funcHits;
+    final actualFuncNames = actualHitMap?.funcNames;
     final expectedLineHits = {
       11: 1,
       12: 1,
@@ -69,5 +71,14 @@
     };
 
     expect(actualLineHits, expectedLineHits);
+    expect(actualFuncHits, {11: 1, 19: 0, 21: 1, 23: 1, 28: 1, 38: 1});
+    expect(actualFuncNames, {
+      11: 'fooSync',
+      19: 'BarClass.x=',
+      21: 'BarClass.BarClass',
+      23: 'BarClass.baz',
+      28: 'fooAsync',
+      38: 'isolateTask'
+    });
   });
 }