public void GetApplicationFolderReturnsNullWhenNoFolderAvailableToStoreDataInNonWindows() { if (!ApplicationFolderProvider.IsWindowsOperatingSystem()) { var provider = new ApplicationFolderProvider(); var vartmpPathFieldInfo = provider.GetType().GetField("nonWindowsStorageProbePathVarTmp", System.Reflection.BindingFlags.NonPublic | System.Reflection.BindingFlags.Instance); vartmpPathFieldInfo.SetValue(provider, ""); var tmpPathFieldInfo = provider.GetType().GetField("nonWindowsStorageProbePathTmp", System.Reflection.BindingFlags.NonPublic | System.Reflection.BindingFlags.Instance); tmpPathFieldInfo.SetValue(provider, ""); IPlatformFolder applicationFolder = provider.GetApplicationFolder(); Assert.IsNull(applicationFolder); } }
public void GetApplicationFolderReturnsSubfolderFromTmpFolderIfVarTmpIsNotAvailableInNonWindows() { if (!ApplicationFolderProvider.IsWindowsOperatingSystem()) { var dir = new System.IO.DirectoryInfo(NonWindowsStorageProbePathTmp); var provider = new ApplicationFolderProvider(); var vartmpPathFieldInfo = provider.GetType().GetField("nonWindowsStorageProbePathVarTmp", System.Reflection.BindingFlags.NonPublic | System.Reflection.BindingFlags.Instance); vartmpPathFieldInfo.SetValue(provider, ""); IPlatformFolder applicationFolder = provider.GetApplicationFolder(); Assert.IsNotNull(applicationFolder); Assert.IsTrue(dir.GetDirectories().Any(r => r.Name.Equals("Microsoft"))); dir.EnumerateDirectories().ToList().ForEach(d => { if (d.Name == "Microsoft") { d.Delete(true); } }); } }