File tree Expand file tree Collapse file tree 2 files changed +44
-0
lines changed
Expand file tree Collapse file tree 2 files changed +44
-0
lines changed Original file line number Diff line number Diff line change @@ -163,6 +163,36 @@ public void SepWriterHeaderTest_Add_Twice_Throws()
163163 Assert . AreEqual ( "Column name 'A' already exists (Parameter 'colName')" , e . Message ) ;
164164 }
165165
166+ [ TestMethod ]
167+ public void SepWriterHeaderTest_TryAdd_Once_Is_True ( )
168+ {
169+ using var writer = CreateWriter ( ) ;
170+ var header = writer . Header ;
171+
172+ Assert . IsTrue ( header . TryAdd ( "A" ) ) ;
173+ }
174+
175+ [ TestMethod ]
176+ public void SepWriterHeaderTest_TryAdd_Twice_Is_False ( )
177+ {
178+ using var writer = CreateWriter ( ) ;
179+ var header = writer . Header ;
180+ header . Add ( "A" ) ;
181+
182+ Assert . IsFalse ( header . TryAdd ( "A" ) ) ;
183+ }
184+
185+ [ TestMethod ]
186+ public void SepWriterHeaderTest_TryAdd_After_Written_Is_False ( )
187+ {
188+ using var writer = CreateWriter ( ) ;
189+ var header = writer . Header ;
190+ header . Add ( "A" ) ;
191+ header . Write ( ) ;
192+
193+ Assert . IsFalse ( header . TryAdd ( "B" ) ) ;
194+ }
195+
166196 [ TestMethod ]
167197 public void SepWriterHeaderTest_Add_After_Written_Throws ( )
168198 {
Original file line number Diff line number Diff line change @@ -45,6 +45,20 @@ public void Add(string colName)
4545 _writer . AddCol ( colName ) ;
4646 }
4747
48+ public bool TryAdd ( string colName )
49+ {
50+ if ( _writer . _headerWrittenOrSkipped )
51+ {
52+ return false ;
53+ }
54+ if ( _writer . _colNameToCol . ContainsKey ( colName ) )
55+ {
56+ return false ;
57+ }
58+ _writer . AddCol ( colName ) ;
59+ return true ;
60+ }
61+
4862 public void Write ( ) => _writer . WriteHeader ( ) ;
4963 public ValueTask WriteAsync ( CancellationToken cancellationToken = default ) =>
5064 _writer . WriteHeaderAsync ( cancellationToken ) ;
You can’t perform that action at this time.
0 commit comments