< Summary

Class:Microsoft.Azure.Search.Models.PathHierarchyTokenizerV2
Assembly:Microsoft.Azure.Search.Service
File(s):C:\Git\azure-sdk-for-net\sdk\search\Microsoft.Azure.Search.Service\src\Generated\Models\PathHierarchyTokenizerV2.cs
Covered lines:17
Uncovered lines:1
Coverable lines:18
Total lines:115
Line coverage:94.4% (17 of 18)
Covered branches:1
Total branches:2
Branch coverage:50% (1 of 2)

Metrics

MethodCyclomatic complexity Line coverage Branch coverage
.ctor()-100%100%
.ctor(...)-100%100%
get_Delimiter()-100%100%
get_Replacement()-100%100%
get_MaxTokenLength()-100%100%
get_ReverseTokenOrder()-100%100%
get_NumberOfTokensToSkip()-100%100%
Validate()-75%50%

File(s)

C:\Git\azure-sdk-for-net\sdk\search\Microsoft.Azure.Search.Service\src\Generated\Models\PathHierarchyTokenizerV2.cs

#LineLine coverage
 1// <auto-generated>
 2// Copyright (c) Microsoft Corporation. All rights reserved.
 3// Licensed under the MIT License. See License.txt in the project root for
 4// license information.
 5//
 6// Code generated by Microsoft (R) AutoRest Code Generator.
 7// Changes may cause incorrect behavior and will be lost if the code is
 8// regenerated.
 9// </auto-generated>
 10
 11namespace Microsoft.Azure.Search.Models
 12{
 13    using Microsoft.Rest;
 14    using Newtonsoft.Json;
 15    using System.Linq;
 16
 17    /// <summary>
 18    /// Tokenizer for path-like hierarchies. This tokenizer is implemented
 19    /// using Apache Lucene.
 20    /// <see
 21    /// href="http://lucene.apache.org/core/4_10_3/analyzers-common/org/apache/lucene/analysis/path/PathHierarchyTokeniz
 22    /// />
 23    /// </summary>
 24    [Newtonsoft.Json.JsonObject("#Microsoft.Azure.Search.PathHierarchyTokenizerV2")]
 25    public partial class PathHierarchyTokenizerV2 : Tokenizer
 26    {
 27        /// <summary>
 28        /// Initializes a new instance of the PathHierarchyTokenizerV2 class.
 29        /// </summary>
 430        public PathHierarchyTokenizerV2()
 31        {
 32            CustomInit();
 433        }
 34
 35        /// <summary>
 36        /// Initializes a new instance of the PathHierarchyTokenizerV2 class.
 37        /// </summary>
 38        /// <param name="name">The name of the tokenizer. It must only contain
 39        /// letters, digits, spaces, dashes or underscores, can only start and
 40        /// end with alphanumeric characters, and is limited to 128
 41        /// characters.</param>
 42        /// <param name="delimiter">The delimiter character to use. Default is
 43        /// "/".</param>
 44        /// <param name="replacement">A value that, if set, replaces the
 45        /// delimiter character. Default is "/".</param>
 46        /// <param name="maxTokenLength">The maximum token length. Default and
 47        /// maximum is 300.</param>
 48        /// <param name="reverseTokenOrder">A value indicating whether to
 49        /// generate tokens in reverse order. Default is false.</param>
 50        /// <param name="numberOfTokensToSkip">The number of initial tokens to
 51        /// skip. Default is 0.</param>
 52        public PathHierarchyTokenizerV2(string name, char? delimiter = default(char?), char? replacement = default(char?
 653            : base(name)
 54        {
 655            Delimiter = delimiter;
 656            Replacement = replacement;
 657            MaxTokenLength = maxTokenLength;
 658            ReverseTokenOrder = reverseTokenOrder;
 659            NumberOfTokensToSkip = numberOfTokensToSkip;
 60            CustomInit();
 661        }
 62
 63        /// <summary>
 64        /// An initialization method that performs custom operations like setting defaults
 65        /// </summary>
 66        partial void CustomInit();
 67
 68        /// <summary>
 69        /// Gets or sets the delimiter character to use. Default is "/".
 70        /// </summary>
 71        [JsonProperty(PropertyName = "delimiter")]
 2272        public char? Delimiter { get; set; }
 73
 74        /// <summary>
 75        /// Gets or sets a value that, if set, replaces the delimiter
 76        /// character. Default is "/".
 77        /// </summary>
 78        [JsonProperty(PropertyName = "replacement")]
 2279        public char? Replacement { get; set; }
 80
 81        /// <summary>
 82        /// Gets or sets the maximum token length. Default and maximum is 300.
 83        /// </summary>
 84        [JsonProperty(PropertyName = "maxTokenLength")]
 2685        public int? MaxTokenLength { get; set; }
 86
 87        /// <summary>
 88        /// Gets or sets a value indicating whether to generate tokens in
 89        /// reverse order. Default is false.
 90        /// </summary>
 91        [JsonProperty(PropertyName = "reverse")]
 2292        public bool? ReverseTokenOrder { get; set; }
 93
 94        /// <summary>
 95        /// Gets or sets the number of initial tokens to skip. Default is 0.
 96        /// </summary>
 97        [JsonProperty(PropertyName = "skip")]
 2298        public int? NumberOfTokensToSkip { get; set; }
 99
 100        /// <summary>
 101        /// Validate the object.
 102        /// </summary>
 103        /// <exception cref="ValidationException">
 104        /// Thrown if validation fails
 105        /// </exception>
 106        public override void Validate()
 107        {
 4108            base.Validate();
 4109            if (MaxTokenLength > 300)
 110            {
 0111                throw new ValidationException(ValidationRules.InclusiveMaximum, "MaxTokenLength", 300);
 112            }
 4113        }
 114    }
 115}