Newer
Older
Simple-Multiplayer-Unity3D / Multiplayer Project / Library / PackageCache / com.unity.settings-manager@2.0.1 / Tests / Editor / MultipleProjectSettings.cs
  1. using System.IO;
  2. using NUnit.Framework;
  3. using UnityEditor.SettingsManagement;
  4. namespace UnityEngine.SettingsManagement.EditorTests
  5. {
  6. class MultipleProjectSettings : SettingsTestBase
  7. {
  8. const string k_SettingsFileA = "FileA";
  9. const string k_SettingsFileB = "FileB";
  10. [TearDown]
  11. public void Teardown()
  12. {
  13. var expectedPath = PackageSettingsRepository.GetSettingsPath(k_PackageName);
  14. var expectedPathA = PackageSettingsRepository.GetSettingsPath(k_PackageName, k_SettingsFileA);
  15. var expectedPathB = PackageSettingsRepository.GetSettingsPath(k_PackageName, k_SettingsFileB);
  16. if(File.Exists(expectedPath))
  17. File.Delete(expectedPath);
  18. if(File.Exists(expectedPathA))
  19. File.Delete(expectedPathA);
  20. if(File.Exists(expectedPathB))
  21. File.Delete(expectedPathB);
  22. }
  23. [Test]
  24. public void NewSettingsInstance_CreatesUserAndProjectSettings()
  25. {
  26. var expectedPath = PackageSettingsRepository.GetSettingsPath(k_PackageName);
  27. Assume.That(File.Exists(expectedPath), Is.False);
  28. var settings = new Settings(k_PackageName);
  29. settings.Save();
  30. Assert.That(File.Exists(expectedPath), Is.True);
  31. }
  32. [Test]
  33. public void NewSettingsInstance_SupportsMultipleProjectRepositories()
  34. {
  35. var expectedPathA = PackageSettingsRepository.GetSettingsPath(k_PackageName, "FileA");
  36. var expectedPathB = PackageSettingsRepository.GetSettingsPath(k_PackageName, "FileB");
  37. Assume.That(File.Exists(expectedPathA), Is.False);
  38. Assume.That(File.Exists(expectedPathB), Is.False);
  39. var settings = new Settings(new ISettingsRepository[]
  40. {
  41. new PackageSettingsRepository(k_PackageName, "FileA"),
  42. new PackageSettingsRepository(k_PackageName, "FileB")
  43. });
  44. settings.Save();
  45. Assert.That(File.Exists(expectedPathA), Is.True);
  46. Assert.That(File.Exists(expectedPathB), Is.True);
  47. }
  48. [Test]
  49. public void MultipleNamedProjectSettings_StoreSettingsSeparately()
  50. {
  51. var expectedPathA = PackageSettingsRepository.GetSettingsPath(k_PackageName, "FileA");
  52. var expectedPathB = PackageSettingsRepository.GetSettingsPath(k_PackageName, "FileB");
  53. Assume.That(File.Exists(expectedPathA), Is.False);
  54. Assume.That(File.Exists(expectedPathB), Is.False);
  55. var settings = new Settings(new ISettingsRepository[]
  56. {
  57. new PackageSettingsRepository(k_PackageName, "FileA"),
  58. new PackageSettingsRepository(k_PackageName, "FileB")
  59. });
  60. settings.Set<int>("value_a", 32, "FileA");
  61. settings.Set<int>("value_a", 64, "FileB");
  62. Assert.That(settings.Get<int>("value_a", "FileA"), Is.EqualTo(32));
  63. Assert.That(settings.Get<int>("value_a", "FileB"), Is.EqualTo(64));
  64. }
  65. }
  66. }