anchor.diff:        }));
       });
   
  -    /*
  -    test('Max Age', () {
  -      Completer<bool> completer = new Completer();
  -      String finalString = "";
  -      fileHandler.maxAge = 3600;
  +    test('Range - content', () {
  +      // given
  +      var request = new HttpRequestMock();
  +      var response = request.response;
  +      request.headers.set("range", "bytes=1-7");
   
  -      client.get("127.0.0.1", port, "/textfile.txt").then((HttpClientRequest request) {
  -        return request.close();
  -      }).then((HttpClientResponse response) {
  -        expect(response.headers[HttpHeaders.CACHE_CONTROL][0], equals("max-age=3600"));
  -        completer.complete(true);
  -      });
  +      // when
  +      fileHandler.handleRequest(request, "testfile.txt");
   
  -      return completer.future;
  +      // test
  +      response.when(callsTo("close")).thenCall(expectAsync0(() {
  +        expect(response.statusCode, equals(HttpStatus.PARTIAL_CONTENT));
  +        expect(response.content, equals("estcont"));
  +        expect(response.headers.value(HttpHeaders.CONTENT_LENGTH), equals(7));
  +        expect(response.headers.contentType.toString(),
  +            equals("text/plain; charset=utf-8"));
  +        expect(response.headers.value(HttpHeaders.CONTENT_RANGE),
  +            equals('bytes 1-7/11'));
  +      }));
       });
   
  -    test('Range - content', () {
  -      Completer<bool> completer = new Completer();
  -      String finalString = "";
  -
  -      client.get("127.0.0.1", port, "/textfile.txt").then((HttpClientRequest request) {
  -        request.headers.add("range", "bytes=1-2");
  -        return request.close();
  -
  -      }).then((HttpClientResponse response) {
  -        response.transform(new Utf8Decoder())
  -        .transform(new LineSplitter())
  -        .listen((String result) {
  -          finalString += result;
  -        },
  -        onDone: () {
  -          expect(finalString, equals("es"));
  -          completer.complete(true);
  -        });
  -      });
  -
  -      return completer.future;
  -    });
  -
  -    test('Range - content length header', () {
  -      Completer<bool> completer = new Completer();
  -      String finalString = "";
  -
  -      client.get("127.0.0.1", port, "/textfile.txt").then((HttpClientRequest request) {
  -        request.headers.add("range", "bytes=1-2");
  -        return request.close();
  -
  -      }).then((HttpClientResponse response) {
  -        expect(response.headers[HttpHeaders.CONTENT_LENGTH], equals(['2']));
  -        completer.complete(true);
  -      });
  -
  -      return completer.future;
  -    });
  -
  -    test('Range - partial content status', () {
  -      Completer<bool> completer = new Completer();
  -      String finalString = "";
  -
  -      client.get("127.0.0.1", port, "/textfile.txt").then((HttpClientRequest request) {
  -        request.headers.add("range", "bytes=1-2");
  -        return request.close();
  -
  -      }).then((HttpClientResponse response) {
  -        expect(response.statusCode, equals(HttpStatus.PARTIAL_CONTENT));
  -        completer.complete(true);
  -      });
  -
  -      return completer.future;
  -    });
  -
  -    test('Range - content range header', () {
  -      Completer<bool> completer = new Completer();
  -      String finalString = "";
  -
  -      client.get("127.0.0.1", port, "/textfile.txt").then((HttpClientRequest request) {
  -        request.headers.add("range", "bytes=1-2");
  -        return request.close();
  -
  -      }).then((HttpClientResponse response) {
  -        expect(response.headers[HttpHeaders.CONTENT_RANGE], equals(['bytes 1-2/4']));
  -        completer.complete(true);
  -      });
  -
  -      return completer.future;
  -    });
  -*/
     });
  -
   }
  
positive.code:     Completer completer = new Completer();
  
      stream.transform(UTF8.decoder) // use a StringDecoder
            .listen((String data) => content += data, // output the data
              onError: (error) => print("Error, could not open file"),
              onDone: () => completer.complete()
      );
  
negative.code:     data[key] = value;
    }
  
    dynamic value(String key){
      return data[key];
    }
  }
  
  class HttpRequestMock extends Mock implements HttpRequest {
  