|
// Licensed to the .NET Foundation under one or more agreements.
// The .NET Foundation licenses this file to you under the MIT license.
namespace System.Windows.Forms.Tests;
public class FileDialogCustomPlaceTests
{
public static TheoryData<string?> GetStringWithNullTheoryData()
{
var data = new TheoryData<string?>
{
null,
string.Empty,
"reasonable"
};
return data;
}
[Theory]
[MemberData(nameof(GetStringWithNullTheoryData))]
public void FileDialogCustomPlace_Ctor_String(string? path)
{
FileDialogCustomPlace place = new(path);
Assert.Equal(Guid.Empty, place.KnownFolderGuid);
Assert.Same(path ?? string.Empty, place.Path);
}
public static TheoryData<Guid> GetGuidTheoryData()
{
TheoryData<Guid> data = new()
{
Guid.Empty,
Guid.NewGuid()
};
return data;
}
[Theory]
[MemberData(nameof(GetGuidTheoryData))]
public void FileDialogCustomPlace_Ctor_Guid(Guid knownFolderGuid)
{
FileDialogCustomPlace place = new(knownFolderGuid);
Assert.Equal(knownFolderGuid, place.KnownFolderGuid);
Assert.Empty(place.Path);
}
[Theory]
[MemberData(nameof(GetGuidTheoryData))]
public void FileDialogCustomPlace_KnownFolderGuid_Set_GetReturnsExpected(Guid value)
{
FileDialogCustomPlace place = new("path")
{
KnownFolderGuid = value
};
Assert.Equal(value, place.KnownFolderGuid);
Assert.Empty(place.Path);
// Set same.
place.KnownFolderGuid = value;
Assert.Equal(value, place.KnownFolderGuid);
Assert.Empty(place.Path);
}
[Theory]
[MemberData(nameof(GetStringWithNullTheoryData))]
public void FileDialogCustomPlace_Path_Set_GetReturnsExpected(string? value)
{
FileDialogCustomPlace place = new(Guid.NewGuid())
{
Path = value
};
Assert.Same(value ?? string.Empty, place.Path);
Assert.Equal(Guid.Empty, place.KnownFolderGuid);
// Set same.
place.Path = value;
Assert.Same(value ?? string.Empty, place.Path);
Assert.Equal(Guid.Empty, place.KnownFolderGuid);
}
public static IEnumerable<object[]> ToString_TestData()
{
yield return new object[] { new FileDialogCustomPlace("path"), "System.Windows.Forms.FileDialogCustomPlace Path: path KnownFolderGuid: 00000000-0000-0000-0000-000000000000" };
yield return new object[] { new FileDialogCustomPlace(new Guid(1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11)), "System.Windows.Forms.FileDialogCustomPlace Path: KnownFolderGuid: 00000001-0002-0003-0405-060708090a0b" };
}
[Theory]
[MemberData(nameof(ToString_TestData))]
public void FileDialogCustomPlace_ToString_Invoke_ReturnsExpected(FileDialogCustomPlace place, string expected)
{
Assert.Equal(expected, place.ToString());
}
}
|