3
3
using Itmo . ObjectOrientedProgramming . Lab1 . Obstacles ;
4
4
using Itmo . ObjectOrientedProgramming . Lab1 . Obstacles . Interfaces ;
5
5
using Itmo . ObjectOrientedProgramming . Lab1 . Router ;
6
- using Itmo . ObjectOrientedProgramming . Lab1 . Ships . ConcreteShips ;
6
+ using Itmo . ObjectOrientedProgramming . Lab1 . Ships ;
7
7
using Xunit ;
8
8
9
9
namespace Itmo . ObjectOrientedProgramming . Lab1 . Tests ;
10
10
11
11
public class ShipsAndRoutesTest
12
12
{
13
- [ Fact ]
14
- public void Ships_Should_Fail_WhenCantTraverseEnvironment ( )
13
+ [ Theory ]
14
+ [ InlineData ( "Avgur" ) ]
15
+ [ InlineData ( "PleasureShuttle" ) ]
16
+ public void Ships_Should_Fail_WhenCantTraverseEnvironment ( string name )
15
17
{
16
18
// Arrange
17
- var shuttle = new PleasureShuttle ( ) ;
19
+ IShip shuttle = ShipRepository . CreateShip ( name ) ;
18
20
var path = new Path ( new HighDensity ( ) , 100 ) ;
19
21
20
22
// Act
@@ -24,25 +26,13 @@ public void Ships_Should_Fail_WhenCantTraverseEnvironment()
24
26
Assert . IsType < TraversalResult . LostShip > ( result ) ;
25
27
}
26
28
27
- [ Fact ]
28
- public void Ships2_Should_Fail_WhenCantTraverseEnvironment ( )
29
+ [ Theory ]
30
+ [ InlineData ( true ) ]
31
+ [ InlineData ( false ) ]
32
+ public void Ships_Should_Fail_WhenNoFlareProtection ( bool antiNitrineEmitter )
29
33
{
30
34
// Arrange
31
- var shuttle = new Avgur ( ) ;
32
- var path = new Path ( new HighDensity ( ) , 100 ) ;
33
-
34
- // Act
35
- TraversalResult result = path . TraversePath ( shuttle ) ;
36
-
37
- // Assert
38
- Assert . IsType < TraversalResult . LostShip > ( result ) ;
39
- }
40
-
41
- [ Fact ]
42
- public void Ships2_Should_Fail_WhenNoFlareProtection ( )
43
- {
44
- // Arrange
45
- var shuttle = new Vaklass ( ) ;
35
+ IShip shuttle = ShipRepository . CreateShip ( "Vaklass" , false , antiNitrineEmitter ) ;
46
36
47
37
var obstacles = new List < IHighDensityObstacle > ( )
48
38
{
@@ -55,6 +45,13 @@ public void Ships2_Should_Fail_WhenNoFlareProtection()
55
45
TraversalResult result = path . TraversePath ( shuttle ) ;
56
46
57
47
// Assert
58
- Assert . IsType < TraversalResult . DeathOfCrew > ( result ) ;
48
+ if ( antiNitrineEmitter )
49
+ {
50
+ Assert . IsType < TraversalResult . Success > ( result ) ;
51
+ }
52
+ else
53
+ {
54
+ Assert . IsType < TraversalResult . DeathOfCrew > ( result ) ;
55
+ }
59
56
}
60
57
}
0 commit comments