-
-
Notifications
You must be signed in to change notification settings - Fork 360
/
Copy pathBuildingTelemetryTests.cs
64 lines (59 loc) · 2.01 KB
/
BuildingTelemetryTests.cs
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
using Exercism.Tests;
public class BuildingTelemetryTests
{
[Fact]
[Task(1)]
public void DisplayNextSponsor_for_3_sponsors()
{
var car = RemoteControlCar.Buy();
car.SetSponsors("Exercism", "Walker Industries", "Acme Co.");
var sp1 = car.DisplaySponsor(sponsorNum: 0);
var sp2 = car.DisplaySponsor(sponsorNum: 1);
var sp3 = car.DisplaySponsor(sponsorNum: 2);
Assert.Equal((sp1, sp2, sp3), ("Exercism", "Walker Industries", "Acme Co."));
}
[Fact]
[Task(2)]
public void GetTelemetryData_good()
{
var car = RemoteControlCar.Buy();
car.Drive();
car.Drive();
int serialNum = 1;
var result = car.GetTelemetryData(ref serialNum, out int batteryPercentage, out int distanceDrivenInMeters);
Assert.True(result);
Assert.Equal((1, 80, 4), (serialNum, batteryPercentage, distanceDrivenInMeters));
}
[Fact]
[Task(2)]
public void GetTelemetryData_bad()
{
var car = RemoteControlCar.Buy();
int batteryPercentage, distanceDrivenInMeters;
car.Drive();
car.Drive();
int serialNum = 4;
car.GetTelemetryData(ref serialNum, out batteryPercentage, out distanceDrivenInMeters);
serialNum = 1;
bool result = car.GetTelemetryData(ref serialNum, out batteryPercentage, out distanceDrivenInMeters);
Assert.False(result);
Assert.Equal((4, -1, -1), (serialNum, batteryPercentage, distanceDrivenInMeters));
}
[Fact]
[Task(3)]
public void GetUsagePerMeter_good()
{
var car = RemoteControlCar.Buy();
car.Drive(); car.Drive();
var tc = new TelemetryClient(car);
Assert.Equal("usage-per-meter=5", tc.GetBatteryUsagePerMeter(serialNum: 1));
}
[Fact]
[Task(3)]
public void GetUsagePerMeter_not_started()
{
var car = RemoteControlCar.Buy();
var tc = new TelemetryClient(car);
Assert.Equal("no data", tc.GetBatteryUsagePerMeter(serialNum: 1));
}
}