Skip to content

Commit 745e630

Browse files
committed
Add tests
1 parent 3ee82e4 commit 745e630

File tree

1 file changed

+112
-4
lines changed

1 file changed

+112
-4
lines changed

src/Nest.Tests.Integration/Indices/IndicesTests.cs

Lines changed: 112 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,7 @@
22
using System.Collections.Generic;
33
using System.Linq;
44
using FluentAssertions;
5+
using Nest.Domain.Settings;
56
using Nest.Tests.MockData;
67
using Nest.Tests.MockData.Domain;
78
using NUnit.Framework;
@@ -45,8 +46,34 @@ public void GetIndexSettingsComplex()
4546
var settings = new IndexSettings();
4647
settings.NumberOfReplicas = 4;
4748
settings.NumberOfShards = 8;
49+
4850
settings.Analysis.Analyzers.Add("snowball", new SnowballAnalyzer { Language = "English" });
4951
settings.Analysis.Analyzers.Add("standard", new StandardAnalyzer { StopWords = new[]{"word1", "word2"}});
52+
settings.Analysis.Analyzers.Add("swedishlanguage", new LanguageAnalyzer(Language.Swedish) { StopWords = new[] { "word1", "word2" }, StemExclusionList = new[] { "stem1", "stem2" } });
53+
54+
settings.Analysis.CharFilters.Add("char1", new HtmlStripCharFilter());
55+
settings.Analysis.CharFilters.Add("char2", new MappingCharFilter{ Mappings = new []{"ph=>f", "qu=>q"}});
56+
57+
settings.Analysis.TokenFilters.Add("tokenfilter1", new EdgeNGramTokenFilter());
58+
settings.Analysis.TokenFilters.Add("tokenfilter2", new SnowballTokenFilter());
59+
60+
settings.Analysis.Tokenizers.Add("token1", new KeywordTokenizer());
61+
settings.Analysis.Tokenizers.Add("token2", new PathHierarchyTokenizer());
62+
63+
settings.Similarity = new SimilaritySettings();
64+
var dfr = new CustomSimilaritySettings("test1", "DFR");
65+
dfr.SimilarityParameters.Add("basic_model", "g");
66+
dfr.SimilarityParameters.Add("after_effect", "l");
67+
dfr.SimilarityParameters.Add("normalization", "h2");
68+
dfr.SimilarityParameters.Add("normalization.h2.c", 3);
69+
settings.Similarity.CustomSimilarities.Add(dfr);
70+
71+
var ib = new CustomSimilaritySettings("test2", "IB");
72+
ib.SimilarityParameters.Add("distribution", "spl");
73+
ib.SimilarityParameters.Add("lambda", "ttf");
74+
ib.SimilarityParameters.Add("normalization", "h1");
75+
settings.Similarity.CustomSimilarities.Add(ib);
76+
5077
var typeMapping = this._client.GetMapping(ElasticsearchConfiguration.DefaultIndex, "elasticsearchprojects");
5178
typeMapping.TypeNameMarker = index;
5279
settings.Mappings.Add(typeMapping);
@@ -62,10 +89,91 @@ public void GetIndexSettingsComplex()
6289
Assert.AreEqual(r.Settings.NumberOfShards, 8);
6390
Assert.Greater(r.Settings.Count(), 0);
6491
Assert.True(r.Settings.ContainsKey("merge.policy.merge_factor"));
65-
Assert.AreEqual(2, r.Settings.Analysis.Analyzers.Count);
66-
Assert.True(r.Settings.Analysis.Analyzers.ContainsKey("snowball"));
67-
Assert.True(r.Settings.Analysis.Analyzers.ContainsKey("standard"));
68-
92+
Assert.AreEqual("10", r.Settings["merge.policy.merge_factor"]);
93+
94+
Assert.AreEqual(3, r.Settings.Analysis.Analyzers.Count);
95+
{ // assert analyzers
96+
Assert.True(r.Settings.Analysis.Analyzers.ContainsKey("snowball"));
97+
var snoballAnalyser = r.Settings.Analysis.Analyzers["snowball"] as SnowballAnalyzer;
98+
Assert.NotNull(snoballAnalyser);
99+
Assert.AreEqual("English", snoballAnalyser.Language);
100+
101+
Assert.True(r.Settings.Analysis.Analyzers.ContainsKey("standard"));
102+
var standardAnalyser = r.Settings.Analysis.Analyzers["standard"] as StandardAnalyzer;
103+
Assert.NotNull(standardAnalyser);
104+
Assert.NotNull(standardAnalyser.StopWords);
105+
Assert.AreEqual(2, standardAnalyser.StopWords.Count());
106+
Assert.True(standardAnalyser.StopWords.Contains("word1"));
107+
Assert.True(standardAnalyser.StopWords.Contains("word2"));
108+
109+
Assert.True(r.Settings.Analysis.Analyzers.ContainsKey("swedishlanguage"));
110+
var languageAnalyser = r.Settings.Analysis.Analyzers["swedishlanguage"] as LanguageAnalyzer;
111+
Assert.NotNull(languageAnalyser);
112+
Assert.AreEqual(Language.Swedish.ToString().ToLower(), languageAnalyser.Type);
113+
Assert.NotNull(languageAnalyser.StopWords);
114+
Assert.AreEqual(2, languageAnalyser.StopWords.Count());
115+
Assert.True(languageAnalyser.StopWords.Contains("word1"));
116+
Assert.True(languageAnalyser.StopWords.Contains("word2"));
117+
Assert.AreEqual(2, languageAnalyser.StemExclusionList.Count());
118+
Assert.True(languageAnalyser.StemExclusionList.Contains("stem1"));
119+
Assert.True(languageAnalyser.StemExclusionList.Contains("stem2"));
120+
}
121+
122+
Assert.AreEqual(2, r.Settings.Analysis.CharFilters.Count);
123+
{ // assert char filters
124+
Assert.True(r.Settings.Analysis.CharFilters.ContainsKey("char1"));
125+
var filter1 = r.Settings.Analysis.CharFilters["char1"] as HtmlStripCharFilter;
126+
Assert.NotNull(filter1);
127+
Assert.True(r.Settings.Analysis.CharFilters.ContainsKey("char2"));
128+
var filter2 = r.Settings.Analysis.CharFilters["char2"] as MappingCharFilter;
129+
Assert.NotNull(filter2);
130+
Assert.AreEqual(2, filter2.Mappings.Count());
131+
Assert.True(filter2.Mappings.Contains("ph=>f"));
132+
Assert.True(filter2.Mappings.Contains("qu=>q"));
133+
}
134+
135+
Assert.AreEqual(2, r.Settings.Analysis.TokenFilters.Count);
136+
{ // assert token filters
137+
Assert.True(r.Settings.Analysis.TokenFilters.ContainsKey("tokenfilter1"));
138+
var filter1 = r.Settings.Analysis.TokenFilters["tokenfilter1"] as EdgeNGramTokenFilter;
139+
Assert.NotNull(filter1);
140+
Assert.True(r.Settings.Analysis.TokenFilters.ContainsKey("tokenfilter2"));
141+
var filter2 = r.Settings.Analysis.TokenFilters["tokenfilter2"] as SnowballTokenFilter;
142+
Assert.NotNull(filter2);
143+
}
144+
145+
Assert.AreEqual(2, r.Settings.Analysis.Tokenizers.Count);
146+
{ // assert tokenizers
147+
Assert.True(r.Settings.Analysis.Tokenizers.ContainsKey("token1"));
148+
var tokenizer1 = r.Settings.Analysis.Tokenizers["token1"] as KeywordTokenizer;
149+
Assert.NotNull(tokenizer1);
150+
Assert.True(r.Settings.Analysis.Tokenizers.ContainsKey("token2"));
151+
var tokenizer2 = r.Settings.Analysis.Tokenizers["token2"] as PathHierarchyTokenizer;
152+
Assert.NotNull(tokenizer2);
153+
}
154+
155+
156+
Assert.NotNull(r.Settings.Similarity);
157+
Assert.NotNull(r.Settings.Similarity.CustomSimilarities);
158+
Assert.AreEqual(2, r.Settings.Similarity.CustomSimilarities.Count);
159+
{ // assert similarity
160+
var similarity1 = r.Settings.Similarity.CustomSimilarities.FirstOrDefault(x => x.Name.Equals("test1", StringComparison.InvariantCultureIgnoreCase));
161+
Assert.NotNull(similarity1);
162+
Assert.AreEqual("DFR", similarity1.Type);
163+
Assert.AreEqual(4, similarity1.SimilarityParameters.Count);
164+
Assert.True(similarity1.SimilarityParameters.Any(x => x.Key.Equals("basic_model") && x.Value.ToString().Equals("g")));
165+
Assert.True(similarity1.SimilarityParameters.Any(x => x.Key.Equals("after_effect") && x.Value.ToString().Equals("l")));
166+
Assert.True(similarity1.SimilarityParameters.Any(x => x.Key.Equals("normalization") && x.Value.ToString().Equals("h2")));
167+
Assert.True(similarity1.SimilarityParameters.Any(x => x.Key.Equals("normalization.h2.c") && x.Value.ToString().Equals("3")));
168+
169+
var similarity2 = r.Settings.Similarity.CustomSimilarities.FirstOrDefault(x => x.Name.Equals("test2", StringComparison.InvariantCultureIgnoreCase));
170+
Assert.NotNull(similarity2);
171+
Assert.AreEqual("IB", similarity2.Type);
172+
Assert.AreEqual(3, similarity2.SimilarityParameters.Count);
173+
Assert.True(similarity2.SimilarityParameters.Any(x => x.Key.Equals("distribution") && x.Value.ToString().Equals("spl")));
174+
Assert.True(similarity2.SimilarityParameters.Any(x => x.Key.Equals("lambda") && x.Value.ToString().Equals("ttf")));
175+
Assert.True(similarity2.SimilarityParameters.Any(x => x.Key.Equals("normalization") && x.Value.ToString().Equals("h1")));
176+
}
69177
this._client.DeleteIndex(index);
70178
}
71179
[Test]

0 commit comments

Comments
 (0)