Skip to content

Commit 70494d3

Browse files
committed
C#: Re-write some of the existing source model generation tests and introduce a new one for ToString.
1 parent a108b9c commit 70494d3

File tree

1 file changed

+44
-9
lines changed
  • csharp/ql/test/utils/modelgenerator/dataflow

1 file changed

+44
-9
lines changed

csharp/ql/test/utils/modelgenerator/dataflow/Sources.cs

Lines changed: 44 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -52,25 +52,39 @@ public bool WrapConsoleReadLineGetBool()
5252
return s == "hello";
5353
}
5454

55-
public class MyConsoleReader
55+
public abstract class ValueReader
5656
{
57-
// source=Sources;NewSources+MyConsoleReader;false;ToString;();;ReturnValue;local;df-generated
58-
// neutral=Sources;NewSources+MyConsoleReader;ToString;();summary;df-generated
59-
public override string ToString()
57+
// neutral=Sources;NewSources+ValueReader;GetValue;();summary;df-generated
58+
public abstract string GetValue();
59+
}
60+
61+
public class MyConsoleReader : ValueReader
62+
{
63+
// source=Sources;NewSources+MyConsoleReader;true;GetValue;();;ReturnValue;local;df-generated
64+
// neutral=Sources;NewSources+MyConsoleReader;GetValue;();summary;df-generated
65+
public override string GetValue()
6066
{
6167
return Console.ReadLine();
6268
}
6369
}
6470

71+
public class MyOtherReader : ValueReader
72+
{
73+
// neutral=Sources;NewSources+MyOtherReader;GetValue;();summary;df-generated
74+
public override string GetValue()
75+
{
76+
return "";
77+
}
78+
}
6579

66-
public class MyContainer<T>
80+
public class MyContainer<T> where T : ValueReader
6781
{
6882
public T Value { get; set; }
6983

70-
// summary=Sources;NewSources+MyContainer<T>;false;Read;();;Argument[this];ReturnValue;taint;df-generated
84+
// neutral=Sources;NewSources+MyContainer<T>;Read;();summary;df-generated
7185
public string Read()
7286
{
73-
return Value.ToString();
87+
return Value.GetValue();
7488
}
7589
}
7690

@@ -105,13 +119,34 @@ public override string Read()
105119
}
106120
}
107121

108-
public class DataReaderKind2 : DataReader
122+
public sealed class DataReaderKind2 : DataReader
109123
{
110-
// source=Sources;NewSources+DataReaderKind2;true;Read;();;ReturnValue;source-kind-2;df-generated
124+
// source=Sources;NewSources+DataReaderKind2;false;Read;();;ReturnValue;source-kind-2;df-generated
111125
// neutral=Sources;NewSources+DataReaderKind2;Read;();summary;df-generated
112126
public override string Read()
113127
{
114128
return Source2();
115129
}
116130
}
131+
132+
public class C1
133+
{
134+
// source=Sources;NewSources+C1;false;ToString;();;ReturnValue;source-kind-1;df-generated
135+
// neutral=Sources;NewSources+C1;ToString;();summary;df-generated
136+
public override string ToString()
137+
{
138+
return Source1();
139+
}
140+
}
141+
142+
public sealed class C2
143+
{
144+
// source=Sources;NewSources+C2;false;ToString;();;ReturnValue;source-kind-1;df-generated
145+
// neutral=Sources;NewSources+C2;ToString;();summary;df-generated
146+
public override string ToString()
147+
{
148+
return Source1();
149+
}
150+
}
151+
117152
}

0 commit comments

Comments
 (0)