Skip to content

Commit d613254

Browse files
authored
Merge pull request #23 from NiceOneFox/T18_UnitTests_For_DeviceManager
Close T18 UnitTests For DeviceManager
2 parents 4a22e7c + 9dcc13d commit d613254

File tree

2 files changed

+56
-6
lines changed

2 files changed

+56
-6
lines changed

backend/ServiceSimulation/Bll.Domain.Tests/EntitiesTests/DeviceManagerTests.cs

Lines changed: 56 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,11 @@
1-
using System;
1+
using System.Linq;
22
using Bll.Domain.Interfaces;
33
using Bll.Domain.Entities;
44
using Moq;
55
using NUnit.Framework;
66
using Bll.Domain.Models;
7+
using System.Collections.Generic;
8+
using System;
79

810
namespace Bll.Domain.Tests.EntitiesTests
911
{
@@ -12,7 +14,7 @@ public class DeviceManagerTests
1214
{
1315
private Mock<ITimeProvider> _time;
1416

15-
private Mock<IResults> _resultChannel;
17+
private Mock<IResults> _results;
1618

1719
private Mock<IFlowProvider> _flow;
1820

@@ -21,7 +23,7 @@ public void Setup()
2123
{
2224
_time = new Mock<ITimeProvider>();
2325
_flow = new Mock<IFlowProvider>();
24-
_resultChannel = new Mock<IResults>();
26+
_results = new Mock<IResults>();
2527
}
2628

2729
[Test]
@@ -44,7 +46,7 @@ public void TakeRequest_NormalCondition_RequestOnDevice()
4446
TimeOfDeviceWillBeFree = timeOfDeviceWillBeFree,
4547
};
4648

47-
var deviceManager = new DeviceManager(_time.Object, _flow.Object, _resultChannel.Object);
49+
var deviceManager = new DeviceManager(_time.Object, _flow.Object, _results.Object);
4850

4951
//Act
5052
deviceManager.TakeRequest(request, device);
@@ -55,5 +57,55 @@ public void TakeRequest_NormalCondition_RequestOnDevice()
5557
Assert.AreEqual(device.IsWorking, true);
5658
Assert.That(device.TimeOfDeviceWillBeFree, Is.EqualTo(expectedTimeOfDeviceWillBeFree).Within(0.000001));
5759
}
60+
61+
[Test]
62+
public void FreeDevice_NormalCondition_DeviceIsFree()
63+
{
64+
//Arrange
65+
double timeOfDeviceWillBeFree = 0.52045;
66+
67+
var requestOnDevice = new Request(4, 23, 0.45667, null);
68+
69+
var device = new Device()
70+
{
71+
DeviceId = 7,
72+
IsWorking = true,
73+
Lambda = 99,
74+
Request = requestOnDevice,
75+
TimeOfDeviceWillBeFree = timeOfDeviceWillBeFree,
76+
};
77+
_results.Setup(r => r.Processed).Returns(new List<Request>());
78+
_time.SetupAllProperties();
79+
80+
var deviceManager = new DeviceManager(_time.Object, _flow.Object, _results.Object);
81+
//Act
82+
deviceManager.FreeDevice(device);
83+
//Assert
84+
Assert.AreEqual(device.IsWorking, false);
85+
Assert.AreEqual(_time.Object.Now, device.TimeOfDeviceWillBeFree);
86+
Assert.AreEqual(_results.Object.Processed.Last().EndTime, _time.Object.Now);
87+
Assert.AreEqual(_results.Object.Processed.Count, 1);
88+
}
89+
90+
[Test]
91+
public void FreeDevice_RequestOnDeviceIsNull_ThrowArgumentNullException()
92+
{
93+
//Arrange
94+
Request? requestOnDevice = null;
95+
96+
var device = new Device()
97+
{
98+
DeviceId = 7,
99+
IsWorking = true,
100+
Lambda = 99,
101+
Request = requestOnDevice,
102+
TimeOfDeviceWillBeFree = 0.4d,
103+
};
104+
105+
var deviceManager = new DeviceManager(_time.Object, _flow.Object, _results.Object);
106+
//Act
107+
//Assert
108+
Assert.Throws<ArgumentNullException> (() => deviceManager.FreeDevice(device));
109+
}
58110
}
59111
}

backend/ServiceSimulation/Bll.Domain/Services/SimulationService.cs

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -116,8 +116,6 @@ private void FindNextSpecialEvent(List<Device> devices, List<Source> sources, IB
116116
else
117117
{
118118
// Take request on work or add to buffer.
119-
//if (_results.AmountOfGeneratedRequests >= parameters.AmountOfRequests) return;
120-
121119
var newRequestInSystem = _sourceManager.GetNewRequest(sources[indexOfRequestWithClosestTimeCome]);
122120
// find out free device
123121
bool wasFreeDevice = false;

0 commit comments

Comments
 (0)