1+ // This file was auto-generated based on version 1.0.0 of the canonical data.
2+
3+ using Xunit ;
4+ using System ;
5+
6+ public class ComplexNumbersTest
7+ {
8+ [ Fact ]
9+ public void Real_part_of_a_purely_real_number ( )
10+ {
11+ var sut = new ComplexNumber ( 1 , 0 ) ;
12+ Assert . Equal ( 1 , sut . Real ( ) ) ;
13+ }
14+
15+ [ Fact ( Skip = "Remove to run test" ) ]
16+ public void Real_part_of_a_purely_imaginary_number ( )
17+ {
18+ var sut = new ComplexNumber ( 0 , 1 ) ;
19+ Assert . Equal ( 0 , sut . Real ( ) ) ;
20+ }
21+
22+ [ Fact ( Skip = "Remove to run test" ) ]
23+ public void Real_part_of_a_number_with_real_and_imaginary_part ( )
24+ {
25+ var sut = new ComplexNumber ( 1 , 2 ) ;
26+ Assert . Equal ( 1 , sut . Real ( ) ) ;
27+ }
28+
29+ [ Fact ( Skip = "Remove to run test" ) ]
30+ public void Imaginary_part_of_a_purely_real_number ( )
31+ {
32+ var sut = new ComplexNumber ( 1 , 0 ) ;
33+ Assert . Equal ( 0 , sut . Imaginary ( ) ) ;
34+ }
35+
36+ [ Fact ( Skip = "Remove to run test" ) ]
37+ public void Imaginary_part_of_a_purely_imaginary_number ( )
38+ {
39+ var sut = new ComplexNumber ( 0 , 1 ) ;
40+ Assert . Equal ( 1 , sut . Imaginary ( ) ) ;
41+ }
42+
43+ [ Fact ( Skip = "Remove to run test" ) ]
44+ public void Imaginary_part_of_a_number_with_real_and_imaginary_part ( )
45+ {
46+ var sut = new ComplexNumber ( 1 , 2 ) ;
47+ Assert . Equal ( 2 , sut . Imaginary ( ) ) ;
48+ }
49+
50+ [ Fact ( Skip = "Remove to run test" ) ]
51+ public void Imaginary_unit ( )
52+ {
53+ var sut = new ComplexNumber ( 0 , 1 ) ;
54+ var expected = new ComplexNumber ( - 1 , 0 ) ;
55+ Assert . Equal ( expected . Real ( ) , sut . Mul ( new ComplexNumber ( 0 , 1 ) ) . Real ( ) , 15 ) ;
56+ Assert . Equal ( expected . Imaginary ( ) , sut . Mul ( new ComplexNumber ( 0 , 1 ) ) . Imaginary ( ) , 15 ) ;
57+ }
58+
59+ [ Fact ( Skip = "Remove to run test" ) ]
60+ public void Add_purely_real_numbers ( )
61+ {
62+ var sut = new ComplexNumber ( 1 , 0 ) ;
63+ var expected = new ComplexNumber ( 3 , 0 ) ;
64+ Assert . Equal ( expected . Real ( ) , sut . Add ( new ComplexNumber ( 2 , 0 ) ) . Real ( ) , 15 ) ;
65+ Assert . Equal ( expected . Imaginary ( ) , sut . Add ( new ComplexNumber ( 2 , 0 ) ) . Imaginary ( ) , 15 ) ;
66+ }
67+
68+ [ Fact ( Skip = "Remove to run test" ) ]
69+ public void Add_purely_imaginary_numbers ( )
70+ {
71+ var sut = new ComplexNumber ( 0 , 1 ) ;
72+ var expected = new ComplexNumber ( 0 , 3 ) ;
73+ Assert . Equal ( expected . Real ( ) , sut . Add ( new ComplexNumber ( 0 , 2 ) ) . Real ( ) , 15 ) ;
74+ Assert . Equal ( expected . Imaginary ( ) , sut . Add ( new ComplexNumber ( 0 , 2 ) ) . Imaginary ( ) , 15 ) ;
75+ }
76+
77+ [ Fact ( Skip = "Remove to run test" ) ]
78+ public void Add_numbers_with_real_and_imaginary_part ( )
79+ {
80+ var sut = new ComplexNumber ( 1 , 2 ) ;
81+ var expected = new ComplexNumber ( 4 , 6 ) ;
82+ Assert . Equal ( expected . Real ( ) , sut . Add ( new ComplexNumber ( 3 , 4 ) ) . Real ( ) , 15 ) ;
83+ Assert . Equal ( expected . Imaginary ( ) , sut . Add ( new ComplexNumber ( 3 , 4 ) ) . Imaginary ( ) , 15 ) ;
84+ }
85+
86+ [ Fact ( Skip = "Remove to run test" ) ]
87+ public void Subtract_purely_real_numbers ( )
88+ {
89+ var sut = new ComplexNumber ( 1 , 0 ) ;
90+ var expected = new ComplexNumber ( - 1 , 0 ) ;
91+ Assert . Equal ( expected . Real ( ) , sut . Sub ( new ComplexNumber ( 2 , 0 ) ) . Real ( ) , 15 ) ;
92+ Assert . Equal ( expected . Imaginary ( ) , sut . Sub ( new ComplexNumber ( 2 , 0 ) ) . Imaginary ( ) , 15 ) ;
93+ }
94+
95+ [ Fact ( Skip = "Remove to run test" ) ]
96+ public void Subtract_purely_imaginary_numbers ( )
97+ {
98+ var sut = new ComplexNumber ( 0 , 1 ) ;
99+ var expected = new ComplexNumber ( 0 , - 1 ) ;
100+ Assert . Equal ( expected . Real ( ) , sut . Sub ( new ComplexNumber ( 0 , 2 ) ) . Real ( ) , 15 ) ;
101+ Assert . Equal ( expected . Imaginary ( ) , sut . Sub ( new ComplexNumber ( 0 , 2 ) ) . Imaginary ( ) , 15 ) ;
102+ }
103+
104+ [ Fact ( Skip = "Remove to run test" ) ]
105+ public void Subtract_numbers_with_real_and_imaginary_part ( )
106+ {
107+ var sut = new ComplexNumber ( 1 , 2 ) ;
108+ var expected = new ComplexNumber ( - 2 , - 2 ) ;
109+ Assert . Equal ( expected . Real ( ) , sut . Sub ( new ComplexNumber ( 3 , 4 ) ) . Real ( ) , 15 ) ;
110+ Assert . Equal ( expected . Imaginary ( ) , sut . Sub ( new ComplexNumber ( 3 , 4 ) ) . Imaginary ( ) , 15 ) ;
111+ }
112+
113+ [ Fact ( Skip = "Remove to run test" ) ]
114+ public void Multiply_purely_real_numbers ( )
115+ {
116+ var sut = new ComplexNumber ( 1 , 0 ) ;
117+ var expected = new ComplexNumber ( 2 , 0 ) ;
118+ Assert . Equal ( expected . Real ( ) , sut . Mul ( new ComplexNumber ( 2 , 0 ) ) . Real ( ) , 15 ) ;
119+ Assert . Equal ( expected . Imaginary ( ) , sut . Mul ( new ComplexNumber ( 2 , 0 ) ) . Imaginary ( ) , 15 ) ;
120+ }
121+
122+ [ Fact ( Skip = "Remove to run test" ) ]
123+ public void Multiply_purely_imaginary_numbers ( )
124+ {
125+ var sut = new ComplexNumber ( 0 , 1 ) ;
126+ var expected = new ComplexNumber ( - 2 , 0 ) ;
127+ Assert . Equal ( expected . Real ( ) , sut . Mul ( new ComplexNumber ( 0 , 2 ) ) . Real ( ) , 15 ) ;
128+ Assert . Equal ( expected . Imaginary ( ) , sut . Mul ( new ComplexNumber ( 0 , 2 ) ) . Imaginary ( ) , 15 ) ;
129+ }
130+
131+ [ Fact ( Skip = "Remove to run test" ) ]
132+ public void Multiply_numbers_with_real_and_imaginary_part ( )
133+ {
134+ var sut = new ComplexNumber ( 1 , 2 ) ;
135+ var expected = new ComplexNumber ( - 5 , 10 ) ;
136+ Assert . Equal ( expected . Real ( ) , sut . Mul ( new ComplexNumber ( 3 , 4 ) ) . Real ( ) , 15 ) ;
137+ Assert . Equal ( expected . Imaginary ( ) , sut . Mul ( new ComplexNumber ( 3 , 4 ) ) . Imaginary ( ) , 15 ) ;
138+ }
139+
140+ [ Fact ( Skip = "Remove to run test" ) ]
141+ public void Divide_purely_real_numbers ( )
142+ {
143+ var sut = new ComplexNumber ( 1 , 0 ) ;
144+ var expected = new ComplexNumber ( 0.5 , 0 ) ;
145+ Assert . Equal ( expected . Real ( ) , sut . Div ( new ComplexNumber ( 2 , 0 ) ) . Real ( ) , 15 ) ;
146+ Assert . Equal ( expected . Imaginary ( ) , sut . Div ( new ComplexNumber ( 2 , 0 ) ) . Imaginary ( ) , 15 ) ;
147+ }
148+
149+ [ Fact ( Skip = "Remove to run test" ) ]
150+ public void Divide_purely_imaginary_numbers ( )
151+ {
152+ var sut = new ComplexNumber ( 0 , 1 ) ;
153+ var expected = new ComplexNumber ( 0.5 , 0 ) ;
154+ Assert . Equal ( expected . Real ( ) , sut . Div ( new ComplexNumber ( 0 , 2 ) ) . Real ( ) , 15 ) ;
155+ Assert . Equal ( expected . Imaginary ( ) , sut . Div ( new ComplexNumber ( 0 , 2 ) ) . Imaginary ( ) , 15 ) ;
156+ }
157+
158+ [ Fact ( Skip = "Remove to run test" ) ]
159+ public void Divide_numbers_with_real_and_imaginary_part ( )
160+ {
161+ var sut = new ComplexNumber ( 1 , 2 ) ;
162+ var expected = new ComplexNumber ( 0.44 , 0.08 ) ;
163+ Assert . Equal ( expected . Real ( ) , sut . Div ( new ComplexNumber ( 3 , 4 ) ) . Real ( ) , 15 ) ;
164+ Assert . Equal ( expected . Imaginary ( ) , sut . Div ( new ComplexNumber ( 3 , 4 ) ) . Imaginary ( ) , 15 ) ;
165+ }
166+
167+ [ Fact ( Skip = "Remove to run test" ) ]
168+ public void Absolute_value_of_a_positive_purely_real_number ( )
169+ {
170+ var sut = new ComplexNumber ( 5 , 0 ) ;
171+ Assert . Equal ( 5 , sut . Abs ( ) ) ;
172+ }
173+
174+ [ Fact ( Skip = "Remove to run test" ) ]
175+ public void Absolute_value_of_a_negative_purely_real_number ( )
176+ {
177+ var sut = new ComplexNumber ( - 5 , 0 ) ;
178+ Assert . Equal ( 5 , sut . Abs ( ) ) ;
179+ }
180+
181+ [ Fact ( Skip = "Remove to run test" ) ]
182+ public void Absolute_value_of_a_purely_imaginary_number_with_positive_imaginary_part ( )
183+ {
184+ var sut = new ComplexNumber ( 0 , 5 ) ;
185+ Assert . Equal ( 5 , sut . Abs ( ) ) ;
186+ }
187+
188+ [ Fact ( Skip = "Remove to run test" ) ]
189+ public void Absolute_value_of_a_purely_imaginary_number_with_negative_imaginary_part ( )
190+ {
191+ var sut = new ComplexNumber ( 0 , - 5 ) ;
192+ Assert . Equal ( 5 , sut . Abs ( ) ) ;
193+ }
194+
195+ [ Fact ( Skip = "Remove to run test" ) ]
196+ public void Absolute_value_of_a_number_with_real_and_imaginary_part ( )
197+ {
198+ var sut = new ComplexNumber ( 3 , 4 ) ;
199+ Assert . Equal ( 5 , sut . Abs ( ) ) ;
200+ }
201+
202+ [ Fact ( Skip = "Remove to run test" ) ]
203+ public void Conjugate_a_purely_real_number ( )
204+ {
205+ var sut = new ComplexNumber ( 5 , 0 ) ;
206+ var expected = new ComplexNumber ( 5 , 0 ) ;
207+ Assert . Equal ( expected . Real ( ) , sut . Conjugate ( ) . Real ( ) , 15 ) ;
208+ Assert . Equal ( expected . Imaginary ( ) , sut . Conjugate ( ) . Imaginary ( ) , 15 ) ;
209+ }
210+
211+ [ Fact ( Skip = "Remove to run test" ) ]
212+ public void Conjugate_a_purely_imaginary_number ( )
213+ {
214+ var sut = new ComplexNumber ( 0 , 5 ) ;
215+ var expected = new ComplexNumber ( 0 , - 5 ) ;
216+ Assert . Equal ( expected . Real ( ) , sut . Conjugate ( ) . Real ( ) , 15 ) ;
217+ Assert . Equal ( expected . Imaginary ( ) , sut . Conjugate ( ) . Imaginary ( ) , 15 ) ;
218+ }
219+
220+ [ Fact ( Skip = "Remove to run test" ) ]
221+ public void Conjugate_a_number_with_real_and_imaginary_part ( )
222+ {
223+ var sut = new ComplexNumber ( 1 , 1 ) ;
224+ var expected = new ComplexNumber ( 1 , - 1 ) ;
225+ Assert . Equal ( expected . Real ( ) , sut . Conjugate ( ) . Real ( ) , 15 ) ;
226+ Assert . Equal ( expected . Imaginary ( ) , sut . Conjugate ( ) . Imaginary ( ) , 15 ) ;
227+ }
228+
229+ [ Fact ( Skip = "Remove to run test" ) ]
230+ public void Eulers_identity_formula ( )
231+ {
232+ var sut = new ComplexNumber ( 0 , Math . PI ) ;
233+ var expected = new ComplexNumber ( - 1 , 0 ) ;
234+ Assert . Equal ( expected . Real ( ) , sut . Exp ( ) . Real ( ) , 15 ) ;
235+ Assert . Equal ( expected . Imaginary ( ) , sut . Exp ( ) . Imaginary ( ) , 15 ) ;
236+ }
237+
238+ [ Fact ( Skip = "Remove to run test" ) ]
239+ public void Exponential_of_0 ( )
240+ {
241+ var sut = new ComplexNumber ( 0 , 0 ) ;
242+ var expected = new ComplexNumber ( 1 , 0 ) ;
243+ Assert . Equal ( expected . Real ( ) , sut . Exp ( ) . Real ( ) , 15 ) ;
244+ Assert . Equal ( expected . Imaginary ( ) , sut . Exp ( ) . Imaginary ( ) , 15 ) ;
245+ }
246+
247+ [ Fact ( Skip = "Remove to run test" ) ]
248+ public void Exponential_of_a_purely_real_number ( )
249+ {
250+ var sut = new ComplexNumber ( 1 , 0 ) ;
251+ var expected = new ComplexNumber ( Math . E , 0 ) ;
252+ Assert . Equal ( expected . Real ( ) , sut . Exp ( ) . Real ( ) , 15 ) ;
253+ Assert . Equal ( expected . Imaginary ( ) , sut . Exp ( ) . Imaginary ( ) , 15 ) ;
254+ }
255+ }
0 commit comments