Skip to content
This repository was archived by the owner on Apr 14, 2022. It is now read-only.

Commit 2d259d6

Browse files
author
Mikhail Arkhipov
authored
Merge pull request #104 from MikhailArkhipov/master
Fix tests
2 parents d6f232f + 5af1885 commit 2d259d6

2 files changed

Lines changed: 32 additions & 15 deletions

File tree

src/Analysis/Engine/Impl/Values/IterableInfo.cs

Lines changed: 10 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -293,20 +293,17 @@ public override IEnumerable<KeyValuePair<string, string>> GetRichDescription() {
293293
}
294294

295295
yield return new KeyValuePair<string, string>(WellKnownRichDescriptionKinds.Misc, "[");
296-
if (indexTypes.Length < 6) {
297-
bool first = true;
298-
foreach (var i in indexTypes) {
299-
if (first) {
300-
first = false;
301-
} else {
302-
yield return new KeyValuePair<string, string>(WellKnownRichDescriptionKinds.Comma, ", ");
303-
}
304-
foreach (var kv in i.Types.GetRichDescriptions(unionPrefix: "[", unionSuffix: "]")) {
305-
yield return kv;
306-
}
296+
var i = 0;
297+
for (; i < Math.Min(indexTypes.Length, 6); i++) {
298+
if (i > 0) {
299+
yield return new KeyValuePair<string, string>(WellKnownRichDescriptionKinds.Comma, ", ");
307300
}
308-
} else {
309-
yield return new KeyValuePair<string, string>(WellKnownRichDescriptionKinds.Misc, "...");
301+
foreach (var kv in indexTypes[i].Types.GetRichDescriptions(unionPrefix: "[", unionSuffix: "]")) {
302+
yield return kv;
303+
}
304+
}
305+
if(i < indexTypes.Length){
306+
yield return new KeyValuePair<string, string>(WellKnownRichDescriptionKinds.Misc, ", ...");
310307
}
311308
yield return new KeyValuePair<string, string>(WellKnownRichDescriptionKinds.Misc, "]");
312309
}

src/Analysis/Engine/Test/AnalysisTest.cs

Lines changed: 22 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -2573,7 +2573,7 @@ public async Task SequenceMultiply() {
25732573
var analysis = await server.OpenDefaultDocumentAndGetAnalysisAsync(text);
25742574
analysis.Should().HaveVariable("y").WithDescription("tuple")
25752575
.And.HaveVariable("y1").WithDescription("tuple[int, int, int]")
2576-
.And.HaveVariable("oar").WithDescription("list[int]")
2576+
.And.HaveVariable("oar").WithDescription("list[int, int, int]")
25772577
.And.HaveVariable("oar2").WithDescription("list");
25782578
}
25792579
}
@@ -2597,11 +2597,29 @@ public async Task SequenceMultiply_2() {
25972597
var analysis = await server.OpenDefaultDocumentAndGetAnalysisAsync(text);
25982598
analysis.Should().HaveVariable("y").WithDescription("tuple")
25992599
.And.HaveVariable("y1").WithDescription("tuple[int, int, int]")
2600-
.And.HaveVariable("oar").WithDescription("list[int]")
2600+
.And.HaveVariable("oar").WithDescription("list[int, int, int]")
26012601
.And.HaveVariable("oar2").WithDescription("list");
26022602
}
26032603
}
26042604

2605+
[TestMethod, Priority(0)]
2606+
public async Task InterableTypesDescription_Long() {
2607+
var text = @"
2608+
x1 = (1,'2',3,4.,5,6,7,8)
2609+
y1 = 100 * x1
2610+
2611+
fob = [1,2,'3',4,5.,6,7,8]
2612+
oar = 100 * fob
2613+
";
2614+
2615+
using (var server = await CreateServerAsync(PythonVersions.LatestAvailable2X)) {
2616+
var analysis = await server.OpenDefaultDocumentAndGetAnalysisAsync(text);
2617+
analysis.Should()
2618+
.HaveVariable("y1").WithDescription("tuple[int, str, int, float, int, int, ...]")
2619+
.And.HaveVariable("oar").WithDescription("list[int, int, str, int, float, int, ...]");
2620+
}
2621+
}
2622+
26052623
[TestMethod, Priority(0)]
26062624
public async Task SequenceContains() {
26072625
var text = @"
@@ -5426,7 +5444,9 @@ import fob.y as y
54265444
await server.SendDidOpenTextDocument(uriSrc2, src2);
54275445
await server.SendDidOpenTextDocument(uriSrc3, src3);
54285446

5447+
await server.GetAnalysisAsync(uriSrc1);
54295448
var analysis = await server.GetAnalysisAsync(uriSrc2);
5449+
54305450
analysis.Should().HaveVariable("y").WithDescription("Python module fob.y")
54315451
.And.HaveVariable("abc").OfType(BuiltinTypeId.Int);
54325452
}

0 commit comments

Comments
 (0)