@@ -12,8 +12,10 @@ public class ApplyWorkspaceEditParamsTests
1212 [ Theory , JsonFixture ]
1313 public void SimpleTest ( string expected )
1414 {
15- var model = new ApplyWorkspaceEditParams ( ) {
16- Edit = new WorkspaceEdit ( ) {
15+ var model = new ApplyWorkspaceEditParams ( )
16+ {
17+ Edit = new WorkspaceEdit ( )
18+ {
1719 Changes = new Dictionary < Uri , IEnumerable < TextEdit > > ( ) {
1820 {
1921 new Uri ( "file:///abc/123/d.cs" ) , new [ ] {
@@ -37,5 +39,60 @@ public void SimpleTest(string expected)
3739 var deresult = JsonConvert . DeserializeObject < ApplyWorkspaceEditParams > ( expected ) ;
3840 deresult . ShouldBeEquivalentTo ( model ) ;
3941 }
42+
43+ [ Theory , JsonFixture ]
44+ public void DocumentChangesTest ( string expected )
45+ {
46+ var model = new ApplyWorkspaceEditParams ( )
47+ {
48+ Edit = new WorkspaceEdit ( )
49+ {
50+ DocumentChanges = new Container < TextDocumentEdit > (
51+ new TextDocumentEdit ( )
52+ {
53+ TextDocument = new VersionedTextDocumentIdentifier ( )
54+ {
55+ Version = 1 ,
56+ Uri = new Uri ( "file:///abc/123/d.cs" ) ,
57+ } ,
58+ Edits = new [ ] {
59+ new TextEdit ( ) {
60+ NewText = "new text" ,
61+ Range = new Range ( new Position ( 1 , 1 ) , new Position ( 2 , 2 ) )
62+ } ,
63+ new TextEdit ( ) {
64+ NewText = "new text2" ,
65+ Range = new Range ( new Position ( 3 , 3 ) , new Position ( 4 , 4 ) )
66+ }
67+ }
68+ } ,
69+ new TextDocumentEdit ( )
70+ {
71+ TextDocument = new VersionedTextDocumentIdentifier ( )
72+ {
73+ Version = 1 ,
74+ Uri = new Uri ( "file:///abc/123/b.cs" ) ,
75+ } ,
76+ Edits = new [ ] {
77+ new TextEdit ( ) {
78+ NewText = "new text2" ,
79+ Range = new Range ( new Position ( 1 , 1 ) , new Position ( 2 , 2 ) )
80+ } ,
81+ new TextEdit ( ) {
82+ NewText = "new text3" ,
83+ Range = new Range ( new Position ( 3 , 3 ) , new Position ( 4 , 4 ) )
84+ }
85+ }
86+ }
87+ )
88+ }
89+ } ;
90+ var result = Fixture . SerializeObject ( model ) ;
91+
92+ result . Should ( ) . Be ( expected ) ;
93+
94+ var deresult = JsonConvert . DeserializeObject < ApplyWorkspaceEditParams > ( expected ) ;
95+ deresult . ShouldBeEquivalentTo ( model ) ;
96+ }
4097 }
4198}
0 commit comments