Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- using System;
- using System.Collections.Generic;
- using System.Linq;
- using System.Text;
- using System.Threading.Tasks;
- using ATM_System.Event;
- using ATM_System.EventDetection;
- using ATM_System.Region;
- using ATM_System.Track;
- namespace ATM_System
- {
- public class ATM
- {
- private List<ITrack> _tracks;
- private IRegion _region;
- private List<IEventDetection> _eventdetects;
- private List<IEvent> _events;
- public ATM()
- {
- _tracks = new List<ITrack>();
- _region = new Region.Region(100000,100000); //could be changed by user
- _events = new List<IEvent>();
- _eventdetects = new List<IEventDetection>();
- }
- public void Tick()
- {
- // update track positions
- foreach (var track1 in _tracks)
- {
- track1.update();
- }
- //check for events
- foreach (var detector in _eventdetects)
- {
- _events.AddRange(detector.DetectEvent(_tracks));
- }
- //handle events and output
- foreach (var event1 in _events)
- {
- event1.HandleEvent();
- event1.LogEvent();
- }
- }
- public void IncomingTrack(ITrack track)
- {
- //add incoming track
- _tracks.Add(track);
- }
- }
- }
- using System;
- using System.Collections.Generic;
- using System.Linq;
- using System.Text;
- using System.Threading.Tasks;
- using ATM_System.Event;
- using ATM_System.EventDetection;
- using ATM_System.Track;
- using NUnit.Framework;
- using NSubstitute;
- namespace ATM_System.Tests.Unit
- {
- [TestFixture]
- class ATMUnitTests
- {
- private ATM _uut;
- private ITrack _track;
- private IEvent _event;
- private IEventDetection _eventDetection;
- [SetUp]
- public void Setup()
- {
- _track = Substitute.For<ITrack>();
- _event = Substitute.For<IEvent>();
- _eventDetection = Substitute.For<IEventDetection>();
- _uut = new ATM();
- }
- [Test]
- public void Tick_UpdateTracks_TracksUpdated()
- {
- _uut.Tick();
- _track.Received().update();
- }
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement