Пример #1
0
        public void Load_ShouldLoadInputMappingFromFile(LoadTestCase testCase)
        {
            // Arrange
            const string filePath = "input mapping file path";

            var assetInfo = new AssetInfo(AssetId.CreateUnique(), InputAssetTypes.InputMapping, filePath);
            var assetData = AssetData.CreateWithJsonContent(assetInfo.AssetId, assetInfo.AssetType, testCase.InputMappingAssetContent);

            using var memoryStream = new MemoryStream();
            assetData.Save(memoryStream);
            memoryStream.Position = 0;

            var file = Substitute.For <IFile>();

            file.OpenRead().Returns(memoryStream);
            _fileSystem.GetFile(filePath).Returns(file);

            var inputMappingAssetLoader = new InputMappingAssetLoader(_fileSystem);

            // Act
            var actual = (InputMapping)inputMappingAssetLoader.LoadAsset(assetInfo, _assetStore);

            // Assert
            testCase.Assert(actual);
        }
Пример #2
0
        public void LoadAsset_ThrowsException_WhenFileContentIsInvalid(LoadThrowsExceptionTestCase testCase)
        {
            // Arrange
            const string assetFilePath = "input mapping file path";

            var assetInfo = new AssetInfo(AssetId.CreateUnique(), InputAssetTypes.InputMapping, assetFilePath);
            var assetData = AssetData.CreateWithJsonContent(assetInfo.AssetId, assetInfo.AssetType, testCase.InputMappingAssetContent);

            using var memoryStream = new MemoryStream();
            assetData.Save(memoryStream);
            memoryStream.Position = 0;

            var file = Substitute.For <IFile>();

            file.OpenRead().Returns(memoryStream);
            _fileSystem.GetFile(assetFilePath).Returns(file);

            var inputMappingAssetLoader = new InputMappingAssetLoader(_fileSystem);

            // Act
            // Assert
            Assert.That(() => inputMappingAssetLoader.LoadAsset(assetInfo, _assetStore), Throws.TypeOf <InvalidInputMappingAssetContentException>());
        }