  
      def test_urls_have_trailing_slash_by_default(self):
          expected = ['^notes/$', '^notes/(?P<pk>[^/.]+)/$']
          for idx in range(len(expected)):
              assert expected[idx] == self.urls[idx].regex.pattern
  
  
  class TestTrailingSlashRemoved(TestCase):
      def setUp(self):
          class NoteViewSet(viewsets.ModelViewSet):
 
</s> remove             assert expected[idx] == self.urls[idx].regex.pattern
 </s> add             assert expected[idx] == get_regex_pattern(self.urls[idx]) </s> remove             assert expected[idx] == self.urls[idx].regex.pattern
 </s> add             assert expected[idx] == get_regex_pattern(self.urls[idx]) </s> remove         detail_url_pattern = detail_route.regex.pattern
 </s> add         detail_url_pattern = get_regex_pattern(detail_route) </s> remove         detail_url_pattern = detail_route.regex.pattern
 </s> add         detail_url_pattern = get_regex_pattern(detail_route) </s> remove         url(r'^v1/', include(included, namespace='v1', app_name='v1')),
        url(r'^v2/', include(included, namespace='v2', app_name='v2'))
 </s> add         url(r'^v1/', include((included, 'v1'), namespace='v1')),
        url(r'^v2/', include((included, 'v2'), namespace='v2'))
            assert expected[idx] == get_regex_pattern(self.urls[idx])
  
      def test_urls_have_trailing_slash_by_default(self):
          expected = ['^notes/$', '^notes/(?P<pk>[^/.]+)/$']
          for idx in range(len(expected)):
            assert expected[idx] == get_regex_pattern(self.urls[idx])
  
  
  class TestTrailingSlashRemoved(TestCase):
      def setUp(self):
          class NoteViewSet(viewsets.ModelViewSet):
keep keep keep keep replace keep keep keep keep keep
 Django 2.0a1 compat (#5503)

* Update remaing `include` calls

Missed as part of #5481 cleanup.

* Provide app_name in include_docs_urls

* Update remaining get_regex_pattern usages

* Allow functools.partial in is_simple_callable check 
tests/test_routers.py