1414// </summary>
1515// ***********************************************************************
1616
17+ using System . Collections . Generic ;
1718using System . Linq ;
19+ using DataTypeTests . Models ;
1820using DomainCommonExtensions . ArraysExtensions ;
1921using Microsoft . VisualStudio . TestTools . UnitTesting ;
2022
@@ -65,5 +67,105 @@ public void ChunkArray_Chunked_20_Test()
6567 Assert . AreEqual ( 1 , chunks . Count ( ) ) ;
6668 Assert . AreEqual ( 12 , chunks [ 0 ] . Count ( ) ) ;
6769 }
70+
71+ [ TestMethod ]
72+ public void WithIndex_Null_Test ( )
73+ {
74+ List < Models . IdNameActiveModel > array = null ;
75+
76+ var arrayWithIndex = array . WithIndex ( ) ;
77+
78+ Assert . IsNotNull ( arrayWithIndex ) ;
79+ Assert . AreEqual ( 0 , arrayWithIndex . Count ( ) ) ;
80+ }
81+
82+ [ TestMethod ]
83+ public void WithIndex_Empty_Test ( )
84+ {
85+ var array = new List < Models . IdNameActiveModel > ( ) ;
86+
87+ var arrayWithIndex = array . WithIndex ( ) ;
88+
89+ Assert . IsNotNull ( arrayWithIndex ) ;
90+ Assert . AreEqual ( 0 , arrayWithIndex . Count ( ) ) ;
91+ }
92+
93+ [ TestMethod ]
94+ public void WithIndex_Test ( )
95+ {
96+ var array = new List < Models . IdNameActiveModel > ( )
97+ {
98+ new IdNameActiveModel ( )
99+ {
100+ Id = 0 ,
101+ Name = "Test 0" ,
102+ IsActive = true
103+ } ,
104+ new IdNameActiveModel ( )
105+ {
106+ Id = 1 ,
107+ Name = "Test 1" ,
108+ IsActive = false
109+ }
110+ } ;
111+
112+ var arrayWithIndex = array . WithIndex ( ) ;
113+
114+ Assert . IsNotNull ( arrayWithIndex ) ;
115+ Assert . AreEqual ( 2 , arrayWithIndex . Count ( ) ) ;
116+ }
117+
118+ [ TestMethod ]
119+ public void WithIndexModel_Null_Test ( )
120+ {
121+ List < Models . IdNameActiveModel > array = null ;
122+
123+ var arrayWithIndex = array . WithIndexModel ( ) ;
124+
125+ Assert . IsNotNull ( arrayWithIndex ) ;
126+ Assert . AreEqual ( 0 , arrayWithIndex . Count ( ) ) ;
127+ }
128+
129+ [ TestMethod ]
130+ public void WithIndexModel_Empty_Test ( )
131+ {
132+ var array = new List < Models . IdNameActiveModel > ( ) ;
133+
134+ var arrayWithIndex = array . WithIndexModel ( ) ;
135+
136+ Assert . IsNotNull ( arrayWithIndex ) ;
137+ Assert . AreEqual ( 0 , arrayWithIndex . Count ( ) ) ;
138+ }
139+
140+ [ TestMethod ]
141+ public void WithIndexModel_Test ( )
142+ {
143+ var array = new List < Models . IdNameActiveModel > ( )
144+ {
145+ new IdNameActiveModel ( )
146+ {
147+ Id = 0 ,
148+ Name = "Test 0" ,
149+ IsActive = true
150+ } ,
151+ new IdNameActiveModel ( )
152+ {
153+ Id = 1 ,
154+ Name = "Test 1" ,
155+ IsActive = false
156+ }
157+ } ;
158+
159+ var arrayWithIndex = array . WithIndexModel ( ) ;
160+
161+ Assert . IsNotNull ( arrayWithIndex ) ;
162+ Assert . AreEqual ( 2 , arrayWithIndex . Count ( ) ) ;
163+
164+ var last = arrayWithIndex . Last ( ) ;
165+ Assert . IsNotNull ( last ) ;
166+ Assert . IsNotNull ( last . Item ) ;
167+ Assert . AreEqual ( 1 , last . Item . Id ) ;
168+ Assert . AreEqual ( 1 , last . Index ) ;
169+ }
68170 }
69171}
0 commit comments