void Start() { // obj1 = GameObject.Find ("Monster01"); IMonsterGenerator gen1 = new CommonGenerator(1.5f, obj1); Destroy(gen1.getMonster(), gen1.getTimeWait()); }
public static TInterface Create <TInterface>() { Object result = null; if (typeof(TInterface) == typeof(IExchangeGenerator)) { result = new ExchangeGenerator(); } else if (typeof(TInterface) == typeof(IExtendedGenerator)) { result = new ExtendedGenerator(); } else if (typeof(TInterface) == typeof(ICommonGenerator)) { result = new CommonGenerator(); } else if (typeof(TInterface) == typeof(IInternetPasswordGenerator)) { result = new InternetPasswordGenerator(); } else if (typeof(TInterface) == typeof(IPasswordManagerGenerator)) { result = new PasswordManagerGenerator(); } else if (typeof(TInterface) == typeof(IWirelessPasswordGenerator)) { result = new WirelessPasswordGenerator(); } else { throw new NotSupportedException($"Interface type of \"{typeof(TInterface).Name}\" is not supported."); } return((TInterface)result); }
public void EnsureVariableNameIsNotReserved_AppendsUnderscoreOnJavascriptKeywords() { //Arrange LanguageExpressions expressions = new JavascriptExpressions(); var keyword = "transient"; //Act var result = CommonGenerator.EnsureVariableNameIsNotReserved(keyword, expressions); //Assert Assert.Equal("_transient", result); }
public void GetListAsStringForSnippet_ShouldReturnEmptyStringIfFieldListEmpty() { //Arrange var fieldList = new List <string>(); //Act var result = CommonGenerator.GetListAsStringForSnippet(fieldList, ","); //Assert Assert.Equal("", result); }
public void EnsureVariableNameIsNotReserved_AppendsTheAtSignOnCsharpKeywords() { //Arrange LanguageExpressions expressions = new CSharpExpressions(); var keyword = "event"; //Act var result = CommonGenerator.EnsureVariableNameIsNotReserved(keyword, expressions); //Assert Assert.Equal("@event", result); }
public void EnsureVariableNameIsNotReserved_DoesNotModifyVariableNamesIfNotReserved() { //Arrange LanguageExpressions expressions = new CSharpExpressions(); var keyword = "people"; //Act var result = CommonGenerator.EnsureVariableNameIsNotReserved(keyword, expressions); //Assert Assert.Equal("people", result); }
public void GetParameterListFromOperationSegment_ShouldReturnStringWithDoubleQuotesForOdataActionParameter() { //Arrange var requestPayload = new HttpRequestMessage(HttpMethod.Get, "https://graph.microsoft.com/v1.0/me/drive/items/{id}/workbook/worksheets/{id|name}/range(address='A1:B2')"); var snippetModel = new SnippetModel(requestPayload, ServiceRootUrl, _edmModel); var operationSegment = snippetModel.Segments.Last() as OperationSegment; //Act var result = CommonGenerator.GetParameterListFromOperationSegment(operationSegment, snippetModel); //Assert the string parameter is now double quoted Assert.Equal("\"A1:B2\"", result.First()); }
public void GenerateQuerySection_ShouldReturnEmptyStringIfQueryListIsEmpty() { //Arrange LanguageExpressions expressions = new JavascriptExpressions(); //no query present var requestPayload = new HttpRequestMessage(HttpMethod.Get, "https://graph.microsoft.com/v1.0/me/drive/root"); var snippetModel = new SnippetModel(requestPayload, ServiceRootUrl, _edmModel); //Act var result = CommonGenerator.GenerateQuerySection(snippetModel, expressions); //Assert string is empty Assert.Equal("", result); }
public void GenerateQuerySection_ShouldReturnAppropriateCSharpSearchExpression() { //Arrange LanguageExpressions expressions = new CSharpExpressions(); //no query present var requestPayload = new HttpRequestMessage(HttpMethod.Get, "https://graph.microsoft.com/v1.0/me/people/?$search=\"Irene McGowen\""); var snippetModel = new SnippetModel(requestPayload, ServiceRootUrl, _edmModel); //Act var result = CommonGenerator.GenerateQuerySection(snippetModel, expressions); //Assert string is empty Assert.Equal("\n\t.Search(\"Irene McGowen\")", result); }
public void GenerateQuerySection_ShouldReturnAppropriateJavascriptFilterExpression() { //Arrange LanguageExpressions expressions = new JavascriptExpressions(); //no query present var requestPayload = new HttpRequestMessage(HttpMethod.Get, "https://graph.microsoft.com/v1.0/users?$filter=startswith(givenName, 'J')"); var snippetModel = new SnippetModel(requestPayload, ServiceRootUrl, _edmModel); //Act var result = CommonGenerator.GenerateQuerySection(snippetModel, expressions); //Assert string is empty Assert.Equal("\n\t.filter('startswith(givenName, 'J')')", result); }
public void GenerateQuerySection_ShouldReturnAppropriateJavascriptSelectExpression() { //Arrange LanguageExpressions expressions = new JavascriptExpressions(); //no query present var requestPayload = new HttpRequestMessage(HttpMethod.Get, "https://graph.microsoft.com/v1.0/users/{id}?$select=displayName,givenName,postalCode"); var snippetModel = new SnippetModel(requestPayload, ServiceRootUrl, _edmModel); //Act var result = CommonGenerator.GenerateQuerySection(snippetModel, expressions); //Assert string is empty Assert.Equal("\n\t.select('displayName,givenName,postalCode')", result); }
public void GenerateQuerySection_ShouldReturnAppropriateJavascriptSkipExpression() { //Arrange LanguageExpressions expressions = new JavascriptExpressions(); //no query present var requestPayload = new HttpRequestMessage(HttpMethod.Get, "https://graph.microsoft.com/v1.0/me/events?$skip=20"); var snippetModel = new SnippetModel(requestPayload, ServiceRootUrl, _edmModel); //Act var result = CommonGenerator.GenerateQuerySection(snippetModel, expressions); //Assert string is empty Assert.Equal("\n\t.skip(20)", result); }
public void GetListAsStringForSnippet_ShouldReturnUnDelimitedStringWithEmptyDelimiter() { //Arrange var fieldList = new List <string> { "Test", "Test2", "Test3" }; //Act var result = CommonGenerator.GetListAsStringForSnippet(fieldList, ""); //Assert Assert.Equal("TestTest2Test3", result); }
public void GenerateQuerySection_ShouldReturnAppropriateCSharpRequestHeaderExpression() { //Arrange LanguageExpressions expressions = new CSharpExpressions(); //no query present var requestPayload = new HttpRequestMessage(HttpMethod.Get, "https://graph.microsoft.com/v1.0/users/{id}"); requestPayload.Headers.Add("Prefer", "kenya-timezone"); var snippetModel = new SnippetModel(requestPayload, ServiceRootUrl, _edmModel); //Act var result = CommonGenerator.GenerateQuerySection(snippetModel, expressions); //Assert string is empty Assert.Equal("\n\t.Header(\"Prefer\",\"kenya-timezone\")", result); }
public void GetClassNameFromIdentifier_ShouldReturnRootIdentifierOnFirstSearch() { //Arrange List <string> path = new List <string> { "people"//last item so search for classname }; var requestPayload = new HttpRequestMessage(HttpMethod.Get, "https://graph.microsoft.com/v1.0/me/people"); var snippetModel = new SnippetModel(requestPayload, ServiceRootUrl, _edmModel); //Act var result = CommonGenerator.GetEdmTypeFromIdentifier(snippetModel.Segments.Last(), path); //Assert Assert.Equal("microsoft.graph.person", result.ToString()); }
public void GenerateQuerySection_ShouldReturnAppropriateCSharpRequestHeaderExpressionWithEscapedDoubleQuotes() { //Arrange LanguageExpressions expressions = new CSharpExpressions(); //no query present var requestPayload = new HttpRequestMessage(HttpMethod.Get, "https://graph.microsoft.com/v1.0/me/events"); requestPayload.Headers.Add("Prefer", "outlook.timezone=\"Pacific Standard Time\""); var snippetModel = new SnippetModel(requestPayload, ServiceRootUrl, _edmModel); //Act var result = CommonGenerator.GenerateQuerySection(snippetModel, expressions); //Assert string is empty Assert.Equal("\n\t.Header(\"Prefer\",\"outlook.timezone=\\\"Pacific Standard Time\\\"\")", result); }
public void GetClassNameFromIdentifier_ShouldReturnParameterTypeForActionOrFunction() { //Arrange List <string> path = new List <string> { "message"//last item so search for classname }; var requestPayload = new HttpRequestMessage(HttpMethod.Post, "https://graph.microsoft.com/v1.0/me/sendMail"); var snippetModel = new SnippetModel(requestPayload, ServiceRootUrl, _edmModel); //Act var result = CommonGenerator.GetEdmTypeFromIdentifier(snippetModel.Segments.Last(), path); //Assert Assert.Equal("microsoft.graph.message", result.ToString()); }
public void GetClassNameFromIdentifier_ShouldSearchForOneLevelNestedType_2() { //Arrange List <string> path = new List <string> { "messages", "body"//under the message entity there is a toRecipient entity }; var requestPayload = new HttpRequestMessage(HttpMethod.Post, "https://graph.microsoft.com/v1.0/me/messages"); var snippetModel = new SnippetModel(requestPayload, ServiceRootUrl, _edmModel); //Act var result = CommonGenerator.GetEdmTypeFromIdentifier(snippetModel.Segments.Last(), path); //Assert Assert.Equal("microsoft.graph.itemBody", result.ToString()); }
public void GetClassNameFromIdentifier_ShouldFindSubclassProperties() { // Arrange List <string> path = new List <string> { "fileAttachment", "contentBytes" }; // Act var commonGenerator = new CommonGenerator(_edmModel); var type = _edmModel.FindDeclaredType("microsoft.graph.attachment"); var(contentBytesType, _) = commonGenerator.SearchForEdmType(type, path); // Assert Assert.Equal("Edm.Binary", contentBytesType.FullTypeName()); }
/// <summary> ///Get a string showing the name variable to be manipulated by the segment /// </summary> /// <param name="oDataPathSegment">The path segment in question</param> /// <returns> string to be used as return variable name in this call.</returns> private string GetResponseVariableName(ODataPathSegment oDataPathSegment) { var edmType = oDataPathSegment.EdmType; // when we are trying to create an entity(method == Post) make sure we try to get the name // of a single item in the collection as we will be posting a single item. if ((this.Method == HttpMethod.Post) && (edmType is IEdmCollectionType innerCollection)) { edmType = innerCollection.ElementType.Definition; } if (edmType is IEdmNamedElement edmNamedElement) { return(CommonGenerator.LowerCaseFirstLetter(edmNamedElement.Name)); } //its not a collection/or named type so the identifier can do return(CommonGenerator.LowerCaseFirstLetter(oDataPathSegment.Identifier)); }
public void GetParameterListFromOperationSegment_ShouldSetOptionalUnprovidedParameterToNull() { //Arrange const string jsonObject = "{\r\n " + "\"hasHeaders\": true\r\n" +//we have not provided the optional address parameter "}"; var requestPayload = new HttpRequestMessage(HttpMethod.Post, "https://graph.microsoft.com/v1.0/me/drive/items/{id}/workbook/tables/add") { Content = new StringContent(jsonObject) }; var snippetModel = new SnippetModel(requestPayload, ServiceRootUrl, _edmModel); var operationSegment = snippetModel.Segments.Last() as OperationSegment; //Act var result = CommonGenerator.GetParameterListFromOperationSegment(operationSegment, snippetModel).ToList(); //Assert the parameters are ordered as expected Assert.Equal("hasHeaders", result[0]); Assert.Equal("null", result[1]); }
public void GetParameterListFromOperationSegment_ShouldReturnParameterListOrderedByMetadataReference() { //Arrange const string jsonObject = "{\r\n " + "\"address\": \"Sheet1!A1:D5\",\r\n" + "\"hasHeaders\": true\r\n" + "}"; var requestPayload = new HttpRequestMessage(HttpMethod.Post, "https://graph.microsoft.com/v1.0/me/drive/items/{id}/workbook/tables/add") { Content = new StringContent(jsonObject) }; var snippetModel = new SnippetModel(requestPayload, ServiceRootUrl, _edmModel); var operationSegment = snippetModel.Segments.Last() as OperationSegment; //Act var result = CommonGenerator.GetParameterListFromOperationSegment(operationSegment, snippetModel, "", false).ToList(); //Assert the parameters are ordered as expected Assert.Equal("address", result[0]); Assert.Equal("hasHeaders", result[1]); }