anchor.diff:    });
   
     group('Router', () {
  -    //given
  -    final pathStatic = "/just/static/one/";
  -    final patternOneParameter = "/route/{one_parameter}/";
  -    final patternTwoVariables = "/my-site/{var1}/{var2}/your-site/";
  -
  -    final routeStatic = new Route(pathStatic);
  -    final routeOneParameter = new Route(patternOneParameter);
  -    final routeTwoVariables = new Route(patternTwoVariables);
  -
  -    final routeNameStatic = "static";
  -    final routeNameOneParameter = "one_parameter";
  -    final routeNameTwoVariables = "two_variables";
  -
  -    final hostName = 'http://www.google.com';
  -
  -    var router = new Router(hostName, {
  -      routeNameStatic: routeStatic,
  -      routeNameOneParameter: routeOneParameter,
  -      routeNameTwoVariables: routeTwoVariables
  -    });
  -
  -    //when & test
  -    test('Router route to path', () {
  -      expect(
  -        router.routePath(routeNameStatic, {}),
  -        equals(pathStatic)
  -      );
  -      expect(
  -        router.routePath(routeNameTwoVariables, {'var1': 'value1', 'var2': 'value2'}),
  -        equals('/my-site/value1/value2/your-site/')
  -      );
  -      expect(
  -        router.routePath(routeNameOneParameter, {'one_parameter': 'some_value'}),
  -        equals('/route/some_value/')
  -      );
  -    });
  -
  -    test('Router route to url', () {
  -      expect(
  -        router.routeUrl(routeNameStatic, {}),
  -        equals(hostName + pathStatic)
  -      );
  -      expect(
  -        router.routeUrl(routeNameTwoVariables, {'var1': 'value1', 'var2': 'value2'}),
  -        equals(hostName + '/my-site/value1/value2/your-site/')
  -      );
  -      expect(
  -        router.routeUrl(routeNameOneParameter, {'one_parameter': 'some_value'}),
  -        equals(hostName + '/route/some_value/')
  -      );
  -    });
  -
  -    test('Router route with undefined route throws Error', () {
  -      expect(
  -        () => router.routePath('invalid-route', {}),
  -        throwsArgumentError
  -      );
  -    });
  -
  -    test('Route matching', () {
  -      var matchStatic = router.match(pathStatic);
  -      var matchOneParameter = router.match('/route/some_value/');
  -      var matchTwoVariables = router.match('/my-site/value1/value2/your-site/');
  -
  -      expect(
  -          matchStatic[0],
  -          equals(routeNameStatic)
  -      );
  -      expect(
  -          matchStatic[1],
  -          equals({})
  -      );
  -
  -      expect(
  -          matchOneParameter[0],
  -          equals(routeNameOneParameter)
  -      );
  -      expect(
  -          matchOneParameter[1],
  -          equals({'one_parameter': 'some_value'})
  -      );
  -
  -      expect(
  -          matchTwoVariables[0],
  -          equals(routeNameTwoVariables)
  -      );
  -      expect(
  -          matchTwoVariables[1],
  -          equals({'var1': 'value1', 'var2': 'value2'})
  -      );
  -    });
  -
  -    test('Route matching undefined route throws Error', () {
  -      expect(
  -          () => router.match('/invalid-route'),
  -          throwsArgumentError
  -      );
  +    test('Route to path - static', () {
  +      //given
  +      Router router = new Router("", {'static' : new Route('/static/')});
  +
  +      //when
  +      var path = router.routePath("static", {});
  +
  +      //then
  +      expect(path, equals('/static/'));
  +    });
  +
  +    test('Route to path - not existing', () {
  +      //given
  +      Router router = new Router("", {'static' : new Route('/static/')});
  +
  +      //when & then
  +      expect(() => router.routePath("not-existing", {}), throwsArgumentError);
  +    });
  +
  +    test('Route to path - one parameter', () {
  +      //given
  +      Router router = new Router("", {'one-param' : new Route('/{param}/')});
  +
  +      //when
  +      var path = router.routePath("one-param", {"param" : "value"});
  +
  +      //then
  +      expect(path, equals('/value/'));
  +    });
  +
  +    test('Route to url', () {
  +      //given
  +      Router router = new Router("http://www.host.com", {'static' : new Route('/static/')});
  +
  +      //when
  +      var url = router.routeUrl("static", {});
  +
  +      //then
  +      expect(url, equals('http://www.host.com/static/'));
  +    });
  +
  +    test('Path matching - static', () {
  +      //given
  +      Router router = new Router("", {'static' : new Route('/static/')});
  +
  +      //when
  +      var match = router.match("/static/");
  +
  +      //then
  +      expect(match[0], equals("static"));
  +      expect(match[1], equals({}));
  +    });
  +
  +    test('Path matching - one parameter', () {
  +      //given
  +      Router router = new Router("", {'one-param' : new Route('/{param}/')});
  +
  +      //when
  +      var match = router.match("/value/");
  +
  +      //then
  +      expect(match[0], equals("one-param"));
  +      expect(match[1], equals({"param":"value"}));
  +    });
  +
  +    test('Path matching - undefined', () {
  +      //given
  +      Router router = new Router("", {'static' : new Route('/static/')});
  +
  +      //when & then
  +      expect(() => router.match("/something-different/"), throwsArgumentError);
       });
     });
   
  
positive.code:       expect(new Route("/{anything-here4!@#\$%^&*()\\\n}/"), isNot(isException));
      });
  
      test('Route matching - static not match', () {
        // given
        var route = new Route("/route/");
  
  
negative.code:       expect(match, isNull);
      });
  
      test('Matching - static match', () {
        // given
        var route = new Route("/route/");
  
  