public void GetResourceFileItems_ThrowsException_WhenResourceFileHasInvalidName() { // Arrange var cultures = new HashSet <string>(); // Act & Assert var exception = Assert.Throws <Exception>( () => ResourceFileItemHelpers.GetResourceFileItems( _projectPath, @"\Fakes\ResourceFileItemHelpers\GetResourceFileItems\HasInvalidName", ref cultures ) ); Assert.Equal(@"Resource file '\Fakes\ResourceFileItemHelpers\GetResourceFileItems\HasInvalidName\Index.ru.RU.resx' has invalid name.", exception.Message); }
public void GetResourceFileItems_ThrowsException_WhenResourceFileMustBeAdded() { // Arrange var cultures = new HashSet <string> { "ru-RU" }; // Act & Assert var exception = Assert.Throws <Exception>( () => ResourceFileItemHelpers.GetResourceFileItems( _projectPath, @"\Fakes\ResourceFileItemHelpers\GetResourceFileItems\MustBeAdded", ref cultures ) ); Assert.Equal(@"Resource file '\Fakes\ResourceFileItemHelpers\GetResourceFileItems\MustBeAdded\Index.ru-RU.resx' must be added.", exception.Message); }
public void GetResourceFileItems_Success() { // Arrange var cultures = new HashSet <string> { "", "ru-RU" }; var list = new List <ResourceFileItem> { new ResourceFileItem(_projectPath, @"\Fakes\ResourceFileItemHelpers\GetResourceFileItems\Success", "", "Index.resx") { Values = { { "", new Resx { Data = new List <Resx.DataNode> { new Resx.DataNode { Name = "TestName", Value = "TestValue" }, new Resx.DataNode { Name = "SecondTestName", Value = "SecondTestValue" } } } }, { "ru-RU", new Resx { Data = new List <Resx.DataNode> { new Resx.DataNode { Name = "TestName", Value = "TestValue ru-RU" }, new Resx.DataNode { Name = "SecondTestName", Value = "SecondTestValue ru-RU" } } } } } } }; // Act var refCultures = new HashSet <string>(); var resourceFileItems = ResourceFileItemHelpers.GetResourceFileItems(_projectPath, @"\Fakes\ResourceFileItemHelpers\GetResourceFileItems\Success", ref refCultures); // Assert Assert.Equal(2, refCultures.Count); foreach (var culture in cultures) { Assert.NotNull(refCultures.FirstOrDefault(x => x == culture)); } Assert.Single(resourceFileItems); foreach (var item in list) { var resourceFileItem = resourceFileItems.FirstOrDefault(x => x.GetFullPath() == item.GetFullPath()); Assert.NotNull(resourceFileItem); Assert.Equal(2, resourceFileItem.Values.Count); foreach (var culture in cultures) { foreach (var data in item.Values[culture].Data) { var resourceFileItemData = resourceFileItem.Values[culture].Data.FirstOrDefault(x => x.Name == data.Name); Assert.NotNull(resourceFileItemData); Assert.Equal(data.Value, resourceFileItemData.Value); } } } }