### Question:
HttpTransportClient extends TransportClient { static String getResourceFeedUri(ResourceType resourceType, String physicalAddress, RxDocumentServiceRequest request) throws Exception { switch (resourceType) { case Attachment: return getAttachmentFeedUri(physicalAddress, request); case DocumentCollection: return getCollectionFeedUri(physicalAddress, request); case Conflict: return getConflictFeedUri(physicalAddress, request); case Database: return getDatabaseFeedUri(physicalAddress); case Document: return getDocumentFeedUri(physicalAddress, request); case Permission: return getPermissionFeedUri(physicalAddress, request); case StoredProcedure: return getStoredProcedureFeedUri(physicalAddress, request); case Trigger: return getTriggerFeedUri(physicalAddress, request); case User: return getUserFeedUri(physicalAddress, request); case UserDefinedFunction: return getUserDefinedFunctionFeedUri(physicalAddress, request); case Schema: return getSchemaFeedUri(physicalAddress, request); case Offer: return getOfferFeedUri(physicalAddress, request); default: assert false : "Unexpected resource type: " + resourceType; throw new NotFoundException(); } } HttpTransportClient(Configs configs, int requestTimeout, UserAgentContainer userAgent); @Override void close(); Single<StoreResponse> invokeStoreAsync(
        Uri physicalAddressUri,
        ResourceOperation resourceOperation,
        RxDocumentServiceRequest request);  }### Answer:
@Test(groups = "unit") public void getResourceFeedUri_Document() throws Exception { RxDocumentServiceRequest req = RxDocumentServiceRequest.createFromName( OperationType.Create, "dbs/db/colls/col", ResourceType.Document); String res = HttpTransportClient.getResourceFeedUri(req.getResourceType(), physicalAddress, req); assertThat(res.toString()).isEqualTo(physicalAddress.toString() + HttpUtils.urlEncode("dbs/db/colls/col/docs")); }
@Test(groups = "unit") public void getResourceFeedUri_Attachment() throws Exception { RxDocumentServiceRequest req = RxDocumentServiceRequest.createFromName( OperationType.Create, "dbs/db/colls/col", ResourceType.Attachment); String res = HttpTransportClient.getResourceFeedUri(req.getResourceType(), physicalAddress, req); assertThat(res.toString()).isEqualTo(physicalAddress.toString() + HttpUtils.urlEncode("dbs/db/colls/col/attachments")); }
@Test(groups = "unit") public void getResourceFeedUri_Collection() throws Exception { RxDocumentServiceRequest req = RxDocumentServiceRequest.createFromName( OperationType.Create, "dbs/db", ResourceType.DocumentCollection); String res = HttpTransportClient.getResourceFeedUri(req.getResourceType(), physicalAddress, req); assertThat(res.toString()).isEqualTo(physicalAddress.toString() + HttpUtils.urlEncode("dbs/db/colls")); }
@Test(groups = "unit") public void getResourceFeedUri_Conflict() throws Exception { RxDocumentServiceRequest req = RxDocumentServiceRequest.createFromName( OperationType.Create, "/dbs/db/colls/col", ResourceType.Conflict); String res = HttpTransportClient.getResourceFeedUri(req.getResourceType(), physicalAddress, req); assertThat(res.toString()).isEqualTo(physicalAddress.toString() + HttpUtils.urlEncode("dbs/db/colls/col/conflicts")); }
@Test(groups = "unit") public void getResourceFeedUri_Database() throws Exception { RxDocumentServiceRequest req = RxDocumentServiceRequest.createFromName( OperationType.Create, "/", ResourceType.Database); String res = HttpTransportClient.getResourceFeedUri(req.getResourceType(), physicalAddress, req); assertThat(res.toString()).isEqualTo(physicalAddress.toString() + "dbs"); }