56 lines
1.4 KiB
C#
56 lines
1.4 KiB
C#
using System;
|
|
using System.Collections.Generic;
|
|
using System.Linq;
|
|
using Xunit;
|
|
using Moq;
|
|
using FluentAssertions;
|
|
using SpotifyAPI.Web;
|
|
|
|
using Selector;
|
|
using System.Threading.Tasks;
|
|
|
|
namespace Selector.Tests
|
|
{
|
|
public class WatcherCollectionTests
|
|
{
|
|
[Fact]
|
|
public void Count()
|
|
{
|
|
var watchCollection = new WatcherCollection();
|
|
|
|
var watcherMock = new Mock<IWatcher>();
|
|
|
|
watchCollection.Add(watcherMock.Object);
|
|
watchCollection.Add(watcherMock.Object);
|
|
watchCollection.Add(watcherMock.Object);
|
|
|
|
watchCollection.Count.Should().Be(3);
|
|
}
|
|
|
|
[Fact]
|
|
public void StartAndStop()
|
|
{
|
|
var watchCollection = new WatcherCollection();
|
|
|
|
var watcherMock = new Mock<IWatcher>();
|
|
|
|
watchCollection.Add(watcherMock.Object);
|
|
watchCollection.Count.Should().Be(1);
|
|
|
|
watchCollection.Start();
|
|
|
|
watchCollection.IsRunning.Should().BeTrue();
|
|
watchCollection.First().IsRunning.Should().BeTrue();
|
|
watchCollection.Running.Count().Should().Be(1);
|
|
|
|
watchCollection.Stop();
|
|
|
|
watchCollection.IsRunning.Should().BeFalse();
|
|
watchCollection.First().IsRunning.Should().BeFalse();
|
|
|
|
watchCollection.Running.Count().Should().Be(0);
|
|
watchCollection.TokenSources.First().IsCancellationRequested.Should().BeTrue();
|
|
}
|
|
}
|
|
}
|