public async Task Should_not_sync_dlc_when_no_dlc()
        {
            var service = new DLCService(null, null, null, null, null, null);
            var result  = await service.SyncStateAsync(new Game()
            {
                ExecutableLocation = string.Empty,
                Type = "Should_not_sync_dlc_when_no_dlc"
            }, new List <IDLC>());

            result.Should().BeFalse();
        }
        public async Task Should_not_sync_dlc_when_no_game()
        {
            var service = new DLCService(null, null, null, null, null, null);
            var result  = await service.SyncStateAsync(null, new List <IDLC>()
            {
                new DLC()
                {
                    Name = "test",
                    Path = "dlc/dlc01.dlc"
                }
            });

            result.Should().BeFalse();
        }
        public async Task Should_sync_dlc()
        {
            var dlc = new DLC()
            {
                Name      = "test",
                Path      = "dlc/dlc01.dlc",
                IsEnabled = true
            };
            var dlc2 = new DLC()
            {
                Name      = "test",
                Path      = "dlc/dlc02.dlc",
                IsEnabled = true
            };
            var dlcExport = new Mock <IDLCExporter>();

            dlcExport.Setup(p => p.GetDisabledDLCAsync(It.IsAny <DLCParameters>())).ReturnsAsync(() => new List <IDLCObject>()
            {
                new DLCObject()
                {
                    Path = "dlc/dlc01.dlc"
                }
            });
            var service = new DLCService(dlcExport.Object, null, null, null, null, null);
            var result  = await service.SyncStateAsync(new Game()
            {
                ExecutableLocation = string.Empty,
                Type = "Should_sync_dlc"
            }, new List <IDLC>()
            {
                dlc, dlc2
            });

            result.Should().BeTrue();
            dlc.IsEnabled.Should().BeFalse();
            dlc2.IsEnabled.Should().BeTrue();
        }