public void SingletonQueryUpdatePropertyClientTest() { TestClientContext = this.CreateWrappedContext <InMemoryEntities>().Context; TestClientContext.MergeOption = Microsoft.OData.Client.MergeOption.OverwriteChanges; //Query Singleton var queryCompany = TestClientContext.Company as DataServiceQuerySingle <Company>; var queryCompanyAr = queryCompany.BeginGetValue(null, null).EnqueueWait(this); var company = queryCompany.EndGetValue(queryCompanyAr); Assert.True(company != null); //Update Singleton Property and Verify company.CompanyCategory = CompanyCategory.Communication; company.Name = "UpdatedName"; company.Address.City = "UpdatedCity"; TestClientContext.UpdateObject(company); var updateCompanyAr = TestClientContext.BeginSaveChanges(null, null).EnqueueWait(this); TestClientContext.EndSaveChanges(updateCompanyAr); //Query Singleton Property - Select var queryCompanyCategory = TestClientContext.Company.Select(c => c.CompanyCategory) as DataServiceQuerySingle <CompanyCategory?>; CompanyCategory?companyCategory = CompanyCategory.Others; var queryCompanyCategoryAr = queryCompanyCategory.BeginGetValue(null, null).EnqueueWait(this); companyCategory = queryCompanyCategory.EndGetValue(queryCompanyCategoryAr); Assert.True(companyCategory == CompanyCategory.Communication); var queryCity = TestClientContext.CreateQuery <string>("Company/Address/City"); var queryCityAr = queryCity.BeginExecute(null, null); var city = queryCity.EndExecute(queryCityAr).Single(); this.EnqueueCallback(() => Assert.True(city == "UpdatedCity")); var queryNameAr = TestClientContext.BeginExecute <string>(new Uri("Company/Name", UriKind.Relative), null, null).EnqueueWait(this); var name = TestClientContext.EndExecute <string>(queryNameAr).Single(); Assert.True(name == "UpdatedName"); //Projection with properties - Select this.TestCompleted = false; queryCompany = TestClientContext.Company.Select(c => new Company { CompanyID = c.CompanyID, Address = c.Address, Name = c.Name }) as DataServiceQuerySingle <Company>; queryCompanyAr = queryCompany.BeginGetValue(null, null); company = queryCompany.EndGetValue(queryCompanyAr); Assert.True(company.Name == "UpdatedName"); Assert.True(company.Departments.Count == 0); this.EnqueueTestComplete(); }
public void UpdateDerivedTypePropertyClientTest() { TestClientContext = this.CreateWrappedContext <InMemoryEntities>().Context; TestClientContext.MergeOption = Microsoft.OData.Client.MergeOption.OverwriteChanges; //Query Singleton var queryCompany = TestClientContext.PublicCompany; var queryCompanyAr = queryCompany.BeginGetValue(null, null).EnqueueWait(this); var company = queryCompany.EndGetValue(queryCompanyAr); //Update DerivedType Property and Verify PublicCompany publicCompany = company as PublicCompany; publicCompany.Name = "UpdatedName"; publicCompany.StockExchange = "Updated StockExchange"; TestClientContext.UpdateObject(publicCompany); var updateCompanyAr = TestClientContext.BeginSaveChanges(null, null).EnqueueWait(this); TestClientContext.EndSaveChanges(updateCompanyAr); //Query Singleton Property - Select var queryName = TestClientContext.PublicCompany.Select(c => c.Name) as DataServiceQuerySingle <string>; var queryNameAr = queryName.BeginGetValue(null, null).EnqueueWait(this); var name = queryName.EndGetValue(queryNameAr); Assert.True(name == "UpdatedName"); //Projection with properties of DerivedType var queryStockExchange = TestClientContext.PublicCompany.Select(c => (c as PublicCompany).StockExchange) as DataServiceQuerySingle <string>; var queryStockExchangeAr = queryStockExchange.BeginGetValue(null, null).EnqueueWait(this); var stockExchange = queryStockExchange.EndGetValue(queryStockExchangeAr); Assert.True(stockExchange == "Updated StockExchange"); //Projection with properties - Select var queryPublicCompany = TestClientContext.PublicCompany.Select(c => new PublicCompany { CompanyID = c.CompanyID, Name = c.Name, StockExchange = (c as PublicCompany).StockExchange }) as DataServiceQuerySingle <PublicCompany>; var queryPublicCompanyAr = queryPublicCompany.BeginGetValue(null, null).EnqueueWait(this); publicCompany = queryPublicCompany.EndGetValue(queryPublicCompanyAr); Assert.True(publicCompany.Name == "UpdatedName"); Assert.True(publicCompany.StockExchange == "Updated StockExchange"); this.EnqueueTestComplete(); }
public void SingletonQueryUpdatePropertyClientTest() { TestClientContext = this.CreateWrappedContext<InMemoryEntities>().Context; TestClientContext.MergeOption = Microsoft.OData.Client.MergeOption.OverwriteChanges; //Query Singleton var queryCompany = TestClientContext.Company as DataServiceQuerySingle<Company>; var queryCompanyAr = queryCompany.BeginGetValue(null, null).EnqueueWait(this); var company = queryCompany.EndGetValue(queryCompanyAr); Assert.IsTrue(company != null); //Update Singleton Property and Verify company.CompanyCategory = CompanyCategory.Communication; company.Name = "UpdatedName"; company.Address.City = "UpdatedCity"; TestClientContext.UpdateObject(company); var updateCompanyAr = TestClientContext.BeginSaveChanges(null, null).EnqueueWait(this); TestClientContext.EndSaveChanges(updateCompanyAr); //Query Singleton Property - Select var queryCompanyCategory = TestClientContext.Company.Select(c => c.CompanyCategory) as DataServiceQuerySingle<CompanyCategory?>; CompanyCategory? companyCategory = CompanyCategory.Others; var queryCompanyCategoryAr = queryCompanyCategory.BeginGetValue(null, null).EnqueueWait(this); companyCategory = queryCompanyCategory.EndGetValue(queryCompanyCategoryAr); Assert.IsTrue(companyCategory == CompanyCategory.Communication); var queryCity = TestClientContext.CreateQuery<string>("Company/Address/City"); var queryCityAr = queryCity.BeginExecute(null, null); var city = queryCity.EndExecute(queryCityAr).Single(); this.EnqueueCallback(() => Assert.IsTrue(city == "UpdatedCity")); var queryNameAr = TestClientContext.BeginExecute<string>(new Uri("Company/Name", UriKind.Relative), null, null).EnqueueWait(this); var name = TestClientContext.EndExecute<string>(queryNameAr).Single(); Assert.IsTrue(name == "UpdatedName"); //Projection with properties - Select this.TestCompleted = false; queryCompany = TestClientContext.Company.Select(c => new Company { CompanyID = c.CompanyID, Address = c.Address, Name = c.Name }) as DataServiceQuerySingle<Company>; queryCompanyAr = queryCompany.BeginGetValue(null, null); company = queryCompany.EndGetValue(queryCompanyAr); Assert.IsTrue(company.Name == "UpdatedName"); Assert.IsTrue(company.Departments.Count == 0); this.EnqueueTestComplete(); }
public void UpdateDerivedTypePropertyClientTest() { TestClientContext = this.CreateWrappedContext<InMemoryEntities>().Context; TestClientContext.MergeOption = Microsoft.OData.Client.MergeOption.OverwriteChanges; //Query Singleton var queryCompany = TestClientContext.PublicCompany; var queryCompanyAr = queryCompany.BeginGetValue(null, null).EnqueueWait(this); var company = queryCompany.EndGetValue(queryCompanyAr); //Update DerivedType Property and Verify PublicCompany publicCompany = company as PublicCompany; publicCompany.Name = "UpdatedName"; publicCompany.StockExchange = "Updated StockExchange"; TestClientContext.UpdateObject(publicCompany); var updateCompanyAr = TestClientContext.BeginSaveChanges(null, null).EnqueueWait(this); TestClientContext.EndSaveChanges(updateCompanyAr); //Query Singleton Property - Select var queryName = TestClientContext.PublicCompany.Select(c => c.Name) as DataServiceQuerySingle<string>; var queryNameAr = queryName.BeginGetValue(null, null).EnqueueWait(this); var name = queryName.EndGetValue(queryNameAr); Assert.IsTrue(name == "UpdatedName"); //Projection with properties of DerivedType var queryStockExchange = TestClientContext.PublicCompany.Select(c => (c as PublicCompany).StockExchange) as DataServiceQuerySingle<string>; var queryStockExchangeAr = queryStockExchange.BeginGetValue(null, null).EnqueueWait(this); var stockExchange = queryStockExchange.EndGetValue(queryStockExchangeAr); Assert.IsTrue(stockExchange == "Updated StockExchange"); //Projection with properties - Select var queryPublicCompany = TestClientContext.PublicCompany.Select(c => new PublicCompany { CompanyID = c.CompanyID, Name = c.Name, StockExchange = (c as PublicCompany).StockExchange }) as DataServiceQuerySingle<PublicCompany>; var queryPublicCompanyAr = queryPublicCompany.BeginGetValue(null, null).EnqueueWait(this); publicCompany = queryPublicCompany.EndGetValue(queryPublicCompanyAr); Assert.IsTrue(publicCompany.Name == "UpdatedName"); Assert.IsTrue(publicCompany.StockExchange == "Updated StockExchange"); this.EnqueueTestComplete(); }