本文整理汇总了C#中MatchingPairs类的典型用法代码示例。如果您正苦于以下问题:C# MatchingPairs类的具体用法?C# MatchingPairs怎么用?C# MatchingPairs使用的例子?那么恭喜您, 这里精选的类代码示例或许可以为您提供帮助。
MatchingPairs类属于命名空间,在下文中一共展示了MatchingPairs类的20个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于我们的系统推荐出更棒的C#代码示例。
示例1: Match1
public void Match1()
{
var src1 = @"
int x = 1;
Console.WriteLine(1);
x++/*1A*/;
Console.WriteLine(2);
while (true)
{
x++/*2A*/;
}
Console.WriteLine(1);
";
var src2 = @"
int x = 1;
x++/*1B*/;
for (int i = 0; i < 10; i++) {}
y++;
if (x > 1)
{
while (true)
{
x++/*2B*/;
}
Console.WriteLine(1);
}";
var match = GetMethodMatch(src1, src2);
var actual = ToMatchingPairs(match);
var expected = new MatchingPairs
{
{ "int x = 1;", "int x = 1;" },
{ "int x = 1", "int x = 1" },
{ "x = 1", "x = 1" },
{ "Console.WriteLine(1);", "Console.WriteLine(1);" },
{ "x++/*1A*/;", "x++/*1B*/;" },
{ "Console.WriteLine(2);", "y++;" },
{ "while (true) { x++/*2A*/; }", "while (true) { x++/*2B*/; }" },
{ "{ x++/*2A*/; }", "{ x++/*2B*/; }" },
{ "x++/*2A*/;", "x++/*2B*/;" }
};
expected.AssertEqual(actual);
}
开发者ID:elemk0vv,项目名称:roslyn-1,代码行数:47,代码来源:RudeEditStatementTests.cs
示例2: KnownMatches_Root
public void KnownMatches_Root()
{
string src1 = @"
Console.WriteLine(1);
";
string src2 = @"
Console.WriteLine(2);
";
var m1 = MakeMethodBody(src1);
var m2 = MakeMethodBody(src2);
var knownMatches = new[] { new KeyValuePair<SyntaxNode, SyntaxNode>(m1, m2) };
var match = StatementSyntaxComparer.Default.ComputeMatch(m1, m2, knownMatches);
var actual = ToMatchingPairs(match);
var expected = new MatchingPairs
{
{ "Console.WriteLine(1);", "Console.WriteLine(2);" }
};
expected.AssertEqual(actual);
}
开发者ID:elemk0vv,项目名称:roslyn-1,代码行数:24,代码来源:RudeEditStatementTests.cs
示例3: MatchLambdas3
public void MatchLambdas3()
{
var src1 = @"
a += async u => u;
";
var src2 = @"
a += u => u;
";
var match = GetMethodMatch(src1, src2);
var actual = ToMatchingPairs(match);
var expected = new MatchingPairs
{
{ "a += async u => u;", "a += u => u;" },
{ "async u => u", "u => u" }
};
expected.AssertEqual(actual);
}
开发者ID:elemk0vv,项目名称:roslyn-1,代码行数:20,代码来源:RudeEditStatementTests.cs
示例4: MatchLambdas2b
public void MatchLambdas2b()
{
var src1 = @"
F(delegate { return x; });
";
var src2 = @"
F((a) => x, () => x);
";
var match = GetMethodMatch(src1, src2);
var actual = ToMatchingPairs(match);
var expected = new MatchingPairs
{
{ "F(delegate { return x; });", "F((a) => x, () => x);" },
{ "delegate { return x; }", "() => x" }
};
expected.AssertEqual(actual);
}
开发者ID:elemk0vv,项目名称:roslyn-1,代码行数:20,代码来源:RudeEditStatementTests.cs
示例5: MatchQueries4
public void MatchQueries4()
{
var src1 = "F(from a in await b from x in y select c);";
var src2 = "F(from a in await c from x in y select c);";
var match = GetMethodMatches(src1, src2);
var actual = ToMatchingPairs(match);
var expected = new MatchingPairs
{
{ "F(from a in await b from x in y select c);", "F(from a in await c from x in y select c);" },
{ "from a in await b", "from a in await c" },
{ "await b", "await c" },
{ "from x in y select c", "from x in y select c" },
{ "from x in y", "from x in y" },
{ "select c", "select c" }
};
expected.AssertEqual(actual);
}
开发者ID:noahstein,项目名称:roslyn,代码行数:20,代码来源:RudeEditStatementTests.cs
示例6: KnownMatches
public void KnownMatches()
{
string src1 = @"
Console.WriteLine(1)/*1*/;
Console.WriteLine(1)/*2*/;
";
string src2 = @"
Console.WriteLine(1)/*3*/;
Console.WriteLine(1)/*4*/;
";
var m1 = MakeMethodBody(src1);
var m2 = MakeMethodBody(src2);
var knownMatches = new KeyValuePair<SyntaxNode, SyntaxNode>[]
{
new KeyValuePair<SyntaxNode, SyntaxNode>(m1.Statements[1], m2.Statements[0])
};
// pre-matched:
var match = StatementSyntaxComparer.Default.ComputeMatch(m1, m2, knownMatches);
var actual = ToMatchingPairs(match);
var expected = new MatchingPairs
{
{ "Console.WriteLine(1)/*1*/;", "Console.WriteLine(1)/*4*/;" },
{ "Console.WriteLine(1)/*2*/;", "Console.WriteLine(1)/*3*/;" }
};
expected.AssertEqual(actual);
// not pre-matched:
match = StatementSyntaxComparer.Default.ComputeMatch(m1, m2);
actual = ToMatchingPairs(match);
expected = new MatchingPairs
{
{ "Console.WriteLine(1)/*1*/;", "Console.WriteLine(1)/*3*/;" },
{ "Console.WriteLine(1)/*2*/;", "Console.WriteLine(1)/*4*/;" }
};
expected.AssertEqual(actual);
}
开发者ID:elemk0vv,项目名称:roslyn-1,代码行数:48,代码来源:RudeEditStatementTests.cs
示例7: MatchQueries2
public void MatchQueries2()
{
var src1 = @"
var q = from c in cars
from ud in users_details
from bd in bids
orderby c.listingOption descending
where a.userID == ud.userid
let images = from ai in auction_images
where ai.belongs_to == c.id
select ai
let bid = (from b in bids
orderby b.id descending
where b.carID == c.id
select b.bidamount).FirstOrDefault()
select bid;
";
var src2 = @"
var q = from c in cars
from ud in users_details
from bd in bids
orderby c.listingOption descending
where a.userID == ud.userid
let images = from ai in auction_images
where ai.belongs_to == c.id2
select ai + 1
let bid = (from b in bids
orderby b.id ascending
where b.carID == c.id2
select b.bidamount).FirstOrDefault()
select bid;
";
var match = GetMethodMatches(src1, src2);
var actual = ToMatchingPairs(match);
var expected = new MatchingPairs
{
{ "var q = from c in cars from ud in users_details from bd in bids orderby c.listingOption descending where a.userID == ud.userid let images = from ai in auction_images where ai.belongs_to == c.id select ai let bid = (from b in bids orderby b.id descending where b.carID == c.id select b.bidamount).FirstOrDefault() select bid;",
"var q = from c in cars from ud in users_details from bd in bids orderby c.listingOption descending where a.userID == ud.userid let images = from ai in auction_images where ai.belongs_to == c.id2 select ai + 1 let bid = (from b in bids orderby b.id ascending where b.carID == c.id2 select b.bidamount).FirstOrDefault() select bid;" },
{ "var q = from c in cars from ud in users_details from bd in bids orderby c.listingOption descending where a.userID == ud.userid let images = from ai in auction_images where ai.belongs_to == c.id select ai let bid = (from b in bids orderby b.id descending where b.carID == c.id select b.bidamount).FirstOrDefault() select bid",
"var q = from c in cars from ud in users_details from bd in bids orderby c.listingOption descending where a.userID == ud.userid let images = from ai in auction_images where ai.belongs_to == c.id2 select ai + 1 let bid = (from b in bids orderby b.id ascending where b.carID == c.id2 select b.bidamount).FirstOrDefault() select bid" },
{ "q = from c in cars from ud in users_details from bd in bids orderby c.listingOption descending where a.userID == ud.userid let images = from ai in auction_images where ai.belongs_to == c.id select ai let bid = (from b in bids orderby b.id descending where b.carID == c.id select b.bidamount).FirstOrDefault() select bid",
"q = from c in cars from ud in users_details from bd in bids orderby c.listingOption descending where a.userID == ud.userid let images = from ai in auction_images where ai.belongs_to == c.id2 select ai + 1 let bid = (from b in bids orderby b.id ascending where b.carID == c.id2 select b.bidamount).FirstOrDefault() select bid" },
{ "from c in cars", "from c in cars" },
{ "from ud in users_details", "from ud in users_details" },
{ "from bd in bids", "from bd in bids" },
{ "c.listingOption descending", "c.listingOption descending" },
{ "where a.userID == ud.userid", "where a.userID == ud.userid" },
{ "let images = from ai in auction_images where ai.belongs_to == c.id select ai",
"let images = from ai in auction_images where ai.belongs_to == c.id2 select ai + 1" },
{ "from ai in auction_images", "from ai in auction_images" },
{ "where ai.belongs_to == c.id", "where ai.belongs_to == c.id2" },
{ "select ai", "select ai + 1" },
{ "let bid = (from b in bids orderby b.id descending where b.carID == c.id select b.bidamount).FirstOrDefault()",
"let bid = (from b in bids orderby b.id ascending where b.carID == c.id2 select b.bidamount).FirstOrDefault()" },
{ "from b in bids", "from b in bids" },
{ "b.id descending", "b.id ascending" },
{ "where b.carID == c.id", "where b.carID == c.id2" },
{ "select b.bidamount", "select b.bidamount" },
{ "select bid", "select bid" }
};
expected.AssertEqual(actual);
}
开发者ID:elemk0vv,项目名称:roslyn-1,代码行数:65,代码来源:RudeEditStatementTests.cs
示例8: MatchLambdas7
public void MatchLambdas7()
{
var src1 = @"
F(a =>
{
F(c => /*1*/d);
F((u, v) =>
{
F((w) => c => /*2*/d);
F(p => p);
});
});
";
var src2 = @"
F(a =>
{
F(c => /*1*/d + 1);
F((u, v) =>
{
F((w) => c => /*2*/d + 1);
F(p => p*2);
});
});
";
var matches = GetMethodMatches(src1, src2);
var actual = ToMatchingPairs(matches);
var expected = new MatchingPairs
{
{ "F(a => { F(c => /*1*/d); F((u, v) => { F((w) => c => /*2*/d); F(p => p); }); });",
"F(a => { F(c => /*1*/d + 1); F((u, v) => { F((w) => c => /*2*/d + 1); F(p => p*2); }); });" },
{ "a => { F(c => /*1*/d); F((u, v) => { F((w) => c => /*2*/d); F(p => p); }); }",
"a => { F(c => /*1*/d + 1); F((u, v) => { F((w) => c => /*2*/d + 1); F(p => p*2); }); }" },
{ "{ F(c => /*1*/d); F((u, v) => { F((w) => c => /*2*/d); F(p => p); }); }",
"{ F(c => /*1*/d + 1); F((u, v) => { F((w) => c => /*2*/d + 1); F(p => p*2); }); }" },
{ "F(c => /*1*/d);", "F(c => /*1*/d + 1);" },
{ "c => /*1*/d", "c => /*1*/d + 1" },
{ "F((u, v) => { F((w) => c => /*2*/d); F(p => p); });", "F((u, v) => { F((w) => c => /*2*/d + 1); F(p => p*2); });" },
{ "(u, v) => { F((w) => c => /*2*/d); F(p => p); }", "(u, v) => { F((w) => c => /*2*/d + 1); F(p => p*2); }" },
{ "{ F((w) => c => /*2*/d); F(p => p); }", "{ F((w) => c => /*2*/d + 1); F(p => p*2); }" },
{ "F((w) => c => /*2*/d);", "F((w) => c => /*2*/d + 1);" },
{ "(w) => c => /*2*/d", "(w) => c => /*2*/d + 1" },
{ "c => /*2*/d", "c => /*2*/d + 1" },
{ "F(p => p);", "F(p => p*2);" },
{ "p => p", "p => p*2" }
};
expected.AssertEqual(actual);
}
开发者ID:elemk0vv,项目名称:roslyn-1,代码行数:50,代码来源:RudeEditStatementTests.cs
示例9: IfBlocksWithLocals1
public void IfBlocksWithLocals1()
{
var src1 = @"
if (X)
{
int a = 1;
}
if (Y)
{
int b = 2;
}
";
var src2 = @"
if (Y)
{
int a = 3;
int b = 4;
}
if (X)
{
int b = 5;
}
";
var match = GetMethodMatch(src1, src2);
var actual = ToMatchingPairs(match);
var expected = new MatchingPairs
{
{ "if (X) { int a = 1; }", "if (Y) { int a = 3; int b = 4; }" },
{ "{ int a = 1; }", "{ int a = 3; int b = 4; }" },
{ "int a = 1;", "int a = 3;" },
{ "int a = 1", "int a = 3" },
{ "a = 1", "a = 3" },
{ "if (Y) { int b = 2; }", "if (X) { int b = 5; }" },
{ "{ int b = 2; }", "{ int b = 5; }" },
{ "int b = 2;", "int b = 5;" },
{ "int b = 2", "int b = 5" },
{ "b = 2", "b = 5" }
};
expected.AssertEqual(actual);
}
开发者ID:elemk0vv,项目名称:roslyn-1,代码行数:42,代码来源:RudeEditStatementTests.cs
示例10: ForEach_Swap1
public void ForEach_Swap1()
{
string src1 = @"foreach (var a in e) { foreach (var b in f) { Foo(); } }";
string src2 = @"foreach (var b in f) { foreach (var a in e) { Foo(); } }";
var edits = GetMethodEdits(src1, src2);
edits.VerifyEdits(
"Move [foreach (var b in f) { Foo(); }]@25 -> @2",
"Move [foreach (var a in e) { foreach (var b in f) { Foo(); } }]@2 -> @25",
"Move [Foo();]@48 -> @48");
var actual = ToMatchingPairs(edits.Match);
var expected = new MatchingPairs
{
{ "foreach (var a in e) { foreach (var b in f) { Foo(); } }", "foreach (var a in e) { Foo(); }" },
{ "{ foreach (var b in f) { Foo(); } }", "{ Foo(); }" },
{ "foreach (var b in f) { Foo(); }", "foreach (var b in f) { foreach (var a in e) { Foo(); } }" },
{ "{ Foo(); }", "{ foreach (var a in e) { Foo(); } }" },
{ "Foo();", "Foo();" }
};
expected.AssertEqual(actual);
}
开发者ID:elemk0vv,项目名称:roslyn-1,代码行数:25,代码来源:RudeEditStatementTests.cs
示例11: MatchExceptionHandlers
public void MatchExceptionHandlers()
{
var src1 = @"
try { throw new InvalidOperationException(1); }
catch (IOException e) when (filter(e)) { Console.WriteLine(2); }
catch (Exception e) when (filter(e)) { Console.WriteLine(3); }
";
var src2 = @"
try { throw new InvalidOperationException(10); }
catch (IOException e) when (filter(e)) { Console.WriteLine(20); }
catch (Exception e) when (filter(e)) { Console.WriteLine(30); }
";
var match = GetMethodMatches(src1, src2, kind: MethodKind.Regular);
var actual = ToMatchingPairs(match);
var expected = new MatchingPairs
{
{ "try { throw new InvalidOperationException(1); } catch (IOException e) when (filter(e)) { Console.WriteLine(2); } catch (Exception e) when (filter(e)) { Console.WriteLine(3); }", "try { throw new InvalidOperationException(10); } catch (IOException e) when (filter(e)) { Console.WriteLine(20); } catch (Exception e) when (filter(e)) { Console.WriteLine(30); }" },
{ "{ throw new InvalidOperationException(1); }", "{ throw new InvalidOperationException(10); }" },
{ "throw new InvalidOperationException(1);", "throw new InvalidOperationException(10);" },
{ "catch (IOException e) when (filter(e)) { Console.WriteLine(2); }", "catch (IOException e) when (filter(e)) { Console.WriteLine(20); }" },
{ "(IOException e)", "(IOException e)" },
{ "when (filter(e))", "when (filter(e))" },
{ "{ Console.WriteLine(2); }", "{ Console.WriteLine(20); }" },
{ "Console.WriteLine(2);", "Console.WriteLine(20);" },
{ "catch (Exception e) when (filter(e)) { Console.WriteLine(3); }", "catch (Exception e) when (filter(e)) { Console.WriteLine(30); }" },
{ "(Exception e)", "(Exception e)" },
{ "when (filter(e))", "when (filter(e))" },
{ "{ Console.WriteLine(3); }", "{ Console.WriteLine(30); }" },
{ "Console.WriteLine(3);", "Console.WriteLine(30);" }
};
expected.AssertEqual(actual);
}
开发者ID:noahstein,项目名称:roslyn,代码行数:35,代码来源:RudeEditStatementTests.cs
示例12: MatchConstructorWithInitializer2
public void MatchConstructorWithInitializer2()
{
var src1 = @"
() : base(a => a + 1) { Console.WriteLine(1); }
";
var src2 = @"
() { Console.WriteLine(1); }
";
var match = GetMethodMatches(src1, src2, kind: MethodKind.ConstructorWithParameters);
var actual = ToMatchingPairs(match);
var expected = new MatchingPairs
{
{ "{ Console.WriteLine(1); }", "{ Console.WriteLine(1); }" },
{ "Console.WriteLine(1);", "Console.WriteLine(1);" }
};
expected.AssertEqual(actual);
}
开发者ID:noahstein,项目名称:roslyn,代码行数:20,代码来源:RudeEditStatementTests.cs
示例13: MatchQueries5
public void MatchQueries5()
{
var src1 = "F(from a in b group a by a.x into g select g);";
var src2 = "F(from a in b group z by z.y into h select h);";
var match = GetMethodMatches(src1, src2);
var actual = ToMatchingPairs(match);
var expected = new MatchingPairs
{
{ "F(from a in b group a by a.x into g select g);", "F(from a in b group z by z.y into h select h);" },
{ "from a in b", "from a in b" },
{ "group a by a.x into g select g", "group z by z.y into h select h" },
{ "group a by a.x", "group z by z.y" },
{ "into g select g", "into h select h" },
{ "select g", "select h" },
{ "select g", "select h" }
};
expected.AssertEqual(actual);
}
开发者ID:noahstein,项目名称:roslyn,代码行数:21,代码来源:RudeEditStatementTests.cs
示例14: MatchLambdas4
public void MatchLambdas4()
{
var src1 = @"
foreach (var a in z)
{
var e = from q in a.Where(l => l > 10) select q + 1;
}
";
var src2 = @"
foreach (var a in z)
{
var e = from q in a.Where(l => l < 0) select q + 1;
}
";
var match = GetMethodMatch(src1, src2);
var actual = ToMatchingPairs(match);
var expected = new MatchingPairs
{
{ "foreach (var a in z) { var e = from q in a.Where(l => l > 10) select q + 1; }", "foreach (var a in z) { var e = from q in a.Where(l => l < 0) select q + 1; }" },
{ "{ var e = from q in a.Where(l => l > 10) select q + 1; }", "{ var e = from q in a.Where(l => l < 0) select q + 1; }" },
{ "var e = from q in a.Where(l => l > 10) select q + 1;", "var e = from q in a.Where(l => l < 0) select q + 1;" },
{ "var e = from q in a.Where(l => l > 10) select q + 1", "var e = from q in a.Where(l => l < 0) select q + 1" },
{ "e = from q in a.Where(l => l > 10) select q + 1", "e = from q in a.Where(l => l < 0) select q + 1" },
{ "from q in a.Where(l => l > 10)", "from q in a.Where(l => l < 0)" },
{ "select q + 1", "select q + 1" }
};
expected.AssertEqual(actual);
}
开发者ID:elemk0vv,项目名称:roslyn-1,代码行数:31,代码来源:RudeEditStatementTests.cs
示例15: BlocksWithLocals2
public void BlocksWithLocals2()
{
var src1 = @"
{
int a = 1;
}
{
{
int b = 2;
}
}
";
var src2 = @"
{
int b = 1;
}
{
{
int a = 2;
}
}
";
var match = GetMethodMatch(src1, src2);
var actual = ToMatchingPairs(match);
var expected = new MatchingPairs
{
{ "{ int a = 1; }", "{ int a = 2; }" },
{ "int a = 1;", "int a = 2;" },
{ "int a = 1", "int a = 2" },
{ "a = 1", "a = 2" },
{ "{ { int b = 2; } }", "{ { int a = 2; } }" },
{ "{ int b = 2; }", "{ int b = 1; }" },
{ "int b = 2;", "int b = 1;" },
{ "int b = 2", "int b = 1" },
{ "b = 2", "b = 1" }
};
expected.AssertEqual(actual);
}
开发者ID:elemk0vv,项目名称:roslyn-1,代码行数:40,代码来源:RudeEditStatementTests.cs
示例16: MatchLambdas6
public void MatchLambdas6()
{
var src1 = @"
F(a => b => c => d);
";
var src2 = @"
F(a => G(b => H(c => I(d))));
";
var matches = GetMethodMatches(src1, src2);
var actual = ToMatchingPairs(matches);
var expected = new MatchingPairs
{
{ "F(a => b => c => d);", "F(a => G(b => H(c => I(d))));" },
{ "a => b => c => d", "a => G(b => H(c => I(d)))" },
{ "b => c => d", "b => H(c => I(d))" },
{ "c => d", "c => I(d)" }
};
expected.AssertEqual(actual);
}
开发者ID:elemk0vv,项目名称:roslyn-1,代码行数:22,代码来源:RudeEditStatementTests.cs
示例17: Queries_OrderBy_Continuation_Reorder
public void Queries_OrderBy_Continuation_Reorder()
{
var src1 = "F(from a in b orderby a.x, a.b descending select a.d into z orderby a.c ascending select z);";
var src2 = "F(from a in b orderby a.x, a.c ascending select a.d into z orderby a.b descending select z);";
var edits = GetMethodEdits(src1, src2);
var actual = ToMatchingPairs(edits.Match);
var expected = new MatchingPairs
{
{ "F(from a in b orderby a.x, a.b descending select a.d into z orderby a.c ascending select z);", "F(from a in b orderby a.x, a.c ascending select a.d into z orderby a.b descending select z);" },
{ "from a in b", "from a in b" },
{ "a.x", "a.x" },
{ "a.b descending", "a.b descending" },
{ "select a.d", "select a.d" },
{ "a.c ascending", "a.c ascending" },
{ "select z", "select z" }
};
expected.AssertEqual(actual);
// LCS match:
// [From] [order a.x] [order a.b] [select a.d] [order a.c] [select z]
// | | \___________________ |
// | | \ |
// [From] [order a.x] [order a.c] [select a.d] [order a.b] [select z]
edits.VerifyEdits(
"Reorder [select a.d]@46 -> @45",
"Reorder [a.c ascending]@74 -> @30");
}
开发者ID:elemk0vv,项目名称:roslyn-1,代码行数:31,代码来源:RudeEditStatementTests.cs
示例18: MatchQueries1
public void MatchQueries1()
{
var src1 = @"
var q = from c in cars
from ud in users_details
from bd in bids
select 1;
";
var src2 = @"
var q = from c in cars
from bd in bids
from ud in users_details
select 2;
";
var match = GetMethodMatch(src1, src2);
var actual = ToMatchingPairs(match);
var expected = new MatchingPairs
{
{ "var q = from c in cars from ud in users_details from bd in bids select 1;", "var q = from c in cars from bd in bids from ud in users_details select 2;" },
{ "var q = from c in cars from ud in users_details from bd in bids select 1", "var q = from c in cars from bd in bids from ud in users_details select 2" },
{ "q = from c in cars from ud in users_details from bd in bids select 1", "q = from c in cars from bd in bids from ud in users_details select 2" },
{ "from c in cars", "from c in cars" },
{ "from ud in users_details", "from ud in users_details" },
{ "from bd in bids", "from bd in bids" },
{ "select 1", "select 2" }
};
expected.AssertEqual(actual);
}
开发者ID:elemk0vv,项目名称:roslyn-1,代码行数:31,代码来源:RudeEditStatementTests.cs
示例19: BlocksWithLocals3
public void BlocksWithLocals3()
{
var src1 = @"
{
int a = 1, b = 2, c = 3;
Console.WriteLine(a + b + c);
}
{
int c = 4, b = 5, a = 6;
Console.WriteLine(a + b + c);
}
{
int a = 7, b = 8;
Console.WriteLine(a + b);
}
";
var src2 = @"
{
int a = 9, b = 10;
Console.WriteLine(a + b);
}
{
int c = 11, b = 12, a = 13;
Console.WriteLine(a + b + c);
}
{
int a = 14, b = 15, c = 16;
Console.WriteLine(a + b + c);
}
";
var match = GetMethodMatch(src1, src2);
var actual = ToMatchingPairs(match);
var expected = new MatchingPairs
{
{ "{ int a = 1, b = 2, c = 3; Console.WriteLine(a + b + c); }", "{ int a = 14, b = 15, c = 16; Console.WriteLine(a + b + c); }" },
{ "int a = 1, b = 2, c = 3;", "int a = 14, b = 15, c = 16;" },
{ "int a = 1, b = 2, c = 3", "int a = 14, b = 15, c = 16" },
{ "a = 1", "a = 14" },
{ "b = 2", "b = 15" },
{ "c = 3", "c = 16" },
{ "Console.WriteLine(a + b + c);", "Console.WriteLine(a + b + c);" },
{ "{ int c = 4, b = 5, a = 6; Console.WriteLine(a + b + c); }", "{ int c = 11, b = 12, a = 13; Console.WriteLine(a + b + c); }" },
{ "int c = 4, b = 5, a = 6;", "int c = 11, b = 12, a = 13;" },
{ "int c = 4, b = 5, a = 6", "int c = 11, b = 12, a = 13" },
{ "c = 4", "c = 11" },
{ "b = 5", "b = 12" },
{ "a = 6", "a = 13" },
{ "Console.WriteLine(a + b + c);", "Console.WriteLine(a + b + c);" },
{ "{ int a = 7, b = 8; Console.WriteLine(a + b); }", "{ int a = 9, b = 10; Console.WriteLine(a + b); }" },
{ "int a = 7, b = 8;", "int a = 9, b = 10;" },
{ "int a = 7, b = 8", "int a = 9, b = 10" },
{ "a = 7", "a = 9" },
{ "b = 8", "b = 10" },
{ "Console.WriteLine(a + b);", "Console.WriteLine(a + b);" }
};
expected.AssertEqual(actual);
}
开发者ID:elemk0vv,项目名称:roslyn-1,代码行数:59,代码来源:RudeEditStatementTests.cs
示例20: MatchQueries3
public void MatchQueries3()
{
var src1 = @"
var q = from a in seq1
join c in seq2 on F(u => u) equals G(s => s)
join l in seq3 on F(v => v) equals G(t => t)
select a;
";
var src2 = @"
var q = from a in seq1
join c in seq2 on F(u => u + 1) equals G(s => s + 3)
join c in seq2 on F(vv => vv + 2) equals G(tt => tt + 4)
select a + 1;
";
var match = GetMethodMatches(src1, src2);
var actual = ToMatchingPairs(match);
var expected = new MatchingPairs
{
{ "var q = from a in seq1 join c in seq2 on F(u => u) equals G(s => s) join l in seq3 on F(v => v) equals G(t => t) select a;", "var q = from a in seq1 join c in seq2 on F(u => u + 1) equals G(s => s + 3) join c in seq2 on F(vv => vv + 2) equals G(tt => tt + 4) select a + 1;" },
{ "var q = from a in seq1 join c in seq2 on F(u => u) equals G(s => s) join l in seq3 on F(v => v) equals G(t => t) select a", "var q = from a in seq1 join c in seq2 on F(u => u + 1) equals G(s => s + 3) join c in seq2 on F(vv => vv + 2) equals G(tt => tt + 4) select a + 1" },
{ "q = from a in seq1 join c in seq2 on F(u => u) equals G(s => s) join l in seq3 on F(v => v) equals G(t => t) select a", "q = from a in seq1 join c in seq2 on F(u => u + 1) equals G(s => s + 3) join c in seq2 on F(vv => vv + 2) equals G(tt => tt + 4) select a + 1" },
{ "from a in seq1", "from a in seq1" },
{ "join c in seq2 on F(u => u) equals G(s => s)", "join c in seq2 on F(u => u + 1) equals G(s => s + 3)" },
{ "u => u", "u => u + 1" },
{ "s => s", "s => s + 3" },
{ "join l in seq3 on F(v => v) equals G(t => t)", "join c in seq2 on F(vv => vv + 2) equals G(tt => tt + 4)" },
{ "v => v", "vv => vv + 2" },
{ "t => t", "tt => tt + 4" },
{ "select a", "select a + 1" }
};
expected.AssertEqual(actual);
}
开发者ID:elemk0vv,项目名称:roslyn-1,代码行数:36,代码来源:RudeEditStatementTests.cs
注:本文中的MatchingPairs类示例整理自Github/MSDocs等源码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。 |
请发表评论