コード例 #1
0
ファイル: ChangeLevel.cs プロジェクト: abc102601/FinalProject
    void Start()
    {
//		obj1 = GameObject.Find ("Monster01");
        IMonsterGenerator gen1 = new CommonGenerator(1.5f, obj1);

        Destroy(gen1.getMonster(), gen1.getTimeWait());
    }
コード例 #2
0
        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);
        }
コード例 #3
0
        public void EnsureVariableNameIsNotReserved_AppendsUnderscoreOnJavascriptKeywords()
        {
            //Arrange
            LanguageExpressions expressions = new JavascriptExpressions();
            var keyword = "transient";
            //Act
            var result = CommonGenerator.EnsureVariableNameIsNotReserved(keyword, expressions);

            //Assert
            Assert.Equal("_transient", result);
        }
コード例 #4
0
        public void GetListAsStringForSnippet_ShouldReturnEmptyStringIfFieldListEmpty()
        {
            //Arrange
            var fieldList = new List <string>();

            //Act
            var result = CommonGenerator.GetListAsStringForSnippet(fieldList, ",");

            //Assert
            Assert.Equal("", result);
        }
コード例 #5
0
        public void EnsureVariableNameIsNotReserved_AppendsTheAtSignOnCsharpKeywords()
        {
            //Arrange
            LanguageExpressions expressions = new CSharpExpressions();
            var keyword = "event";
            //Act
            var result = CommonGenerator.EnsureVariableNameIsNotReserved(keyword, expressions);

            //Assert
            Assert.Equal("@event", result);
        }
コード例 #6
0
        public void EnsureVariableNameIsNotReserved_DoesNotModifyVariableNamesIfNotReserved()
        {
            //Arrange
            LanguageExpressions expressions = new CSharpExpressions();
            var keyword = "people";
            //Act
            var result = CommonGenerator.EnsureVariableNameIsNotReserved(keyword, expressions);

            //Assert
            Assert.Equal("people", result);
        }
コード例 #7
0
        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());
        }
コード例 #8
0
        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);
        }
コード例 #9
0
        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);
        }
コード例 #10
0
        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);
        }
コード例 #11
0
        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);
        }
コード例 #12
0
        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);
        }
コード例 #13
0
        public void GetListAsStringForSnippet_ShouldReturnUnDelimitedStringWithEmptyDelimiter()
        {
            //Arrange
            var fieldList = new List <string>
            {
                "Test",
                "Test2",
                "Test3"
            };

            //Act
            var result = CommonGenerator.GetListAsStringForSnippet(fieldList, "");

            //Assert
            Assert.Equal("TestTest2Test3", result);
        }
コード例 #14
0
        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);
        }
コード例 #15
0
        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());
        }
コード例 #16
0
        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);
        }
コード例 #17
0
        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());
        }
コード例 #18
0
        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());
        }
コード例 #19
0
        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());
        }
コード例 #20
0
        /// <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));
        }
コード例 #21
0
        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]);
        }
コード例 #22
0
        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]);
        }