public void SelectTab_NotExistTest()
=> Assert.Throws<ArgumentException>(() => this.tabinfo.SelectTab("INVALID"));
+ [Fact]
+ public void LoadTabsFromSettings_Test()
+ {
+ var settingTabs = new SettingTabs
+ {
+ Tabs =
+ {
+ new()
+ {
+ TabName = "hoge",
+ TabType = MyCommon.TabUsageType.PublicSearch,
+ SearchWords = "aaa",
+ },
+ },
+ };
+ var tabinfo = this.CreateInstance();
+ tabinfo.LoadTabsFromSettings(settingTabs);
+ Assert.Single(tabinfo.Tabs);
+
+ var tab = (PublicSearchTabModel)tabinfo.Tabs["hoge"];
+ Assert.Equal("aaa", tab.SearchWords);
+ }
+
+ [Fact]
+ public void LoadTabsFromSettings_DuplicateTabNameTest()
+ {
+ var settingTabs = new SettingTabs
+ {
+ Tabs =
+ {
+ new()
+ {
+ TabName = "hoge",
+ TabType = MyCommon.TabUsageType.PublicSearch,
+ SearchWords = "aaa",
+ },
+ new()
+ {
+ TabName = "hoge", // 重複したタブ名
+ TabType = MyCommon.TabUsageType.PublicSearch,
+ SearchWords = "bbb",
+ },
+ },
+ };
+ var tabinfo = this.CreateInstance();
+ tabinfo.LoadTabsFromSettings(settingTabs);
+ Assert.Equal(2, tabinfo.Tabs.Count);
+
+ var tab1 = (PublicSearchTabModel)tabinfo.Tabs["hoge"];
+ Assert.Equal("aaa", tab1.SearchWords);
+
+ var tab2 = (PublicSearchTabModel)tabinfo.Tabs["hoge2"];
+ Assert.Equal("bbb", tab2.SearchWords);
+ }
+
[Theory]
[InlineData(MyCommon.TabUsageType.Home, typeof(HomeTabModel))]
[InlineData(MyCommon.TabUsageType.Mentions, typeof(MentionsTabModel))]
public void AddDefaultTabs_Test()
{
var tabinfo = this.CreateInstance();
- Assert.Equal(0, tabinfo.Tabs.Count);
+ Assert.Empty(tabinfo.Tabs);
tabinfo.AddDefaultTabs();
Assert.True(post.IsOwl);
}
+ [Fact]
+ public void GetTabByType_Generics_Test()
+ {
+ var tab = new PublicSearchTabModel("search");
+ this.tabinfo.AddTab(tab);
+ Assert.Same(tab, this.tabinfo.GetTabByType<PublicSearchTabModel>());
+ }
+
+ [Fact]
+ public void GetTabByType_Generics_NotFoundTest()
+ => Assert.Null(this.tabinfo.GetTabByType<PublicSearchTabModel>());
+
+ [Fact]
+ public void GetTabByType_Enum_Test()
+ {
+ var tab = new PublicSearchTabModel("search");
+ this.tabinfo.AddTab(tab);
+ Assert.Same(tab, this.tabinfo.GetTabByType(MyCommon.TabUsageType.PublicSearch));
+ }
+
+ [Fact]
+ public void GetTabByType_Enum_NotFoundTest()
+ => Assert.Null(this.tabinfo.GetTabByType(MyCommon.TabUsageType.PublicSearch));
+
+ [Fact]
+ public void GetTabsByType_Generics_Test()
+ {
+ var tab1 = new PublicSearchTabModel("search1");
+ var tab2 = new PublicSearchTabModel("search2");
+ this.tabinfo.AddTab(tab1);
+ this.tabinfo.AddTab(tab2);
+ Assert.Equal(new[] { tab1, tab2 }, this.tabinfo.GetTabsByType<PublicSearchTabModel>());
+ }
+
+ [Fact]
+ public void GetTabsByType_Enum_Test()
+ {
+ var tab1 = new PublicSearchTabModel("search1");
+ var tab2 = new PublicSearchTabModel("search2");
+ this.tabinfo.AddTab(tab1);
+ this.tabinfo.AddTab(tab2);
+ Assert.Equal(new[] { tab1, tab2 }, this.tabinfo.GetTabsByType(MyCommon.TabUsageType.PublicSearch));
+ }
+
+ [Fact]
+ public void GetTabsInnerStorageType_Test()
+ {
+ Assert.Equal(
+ new TabModel[] { this.tabinfo.DirectMessageTab },
+ this.tabinfo.GetTabsInnerStorageType()
+ );
+ }
+
+ [Fact]
+ public void GetTabByName_Test()
+ {
+ var tab = new PublicSearchTabModel("search");
+ this.tabinfo.AddTab(tab);
+ Assert.Same(tab, this.tabinfo.GetTabByName("search"));
+ }
+
+ [Fact]
+ public void GetTabByName_NotFoundTest()
+ => Assert.Null(this.tabinfo.GetTabByName("UNKNOWN_NAME"));
+
private class TestPostFilterRule : PostFilterRule
{
public static PostFilterRule Create(Func<PostClass, MyCommon.HITRESULT> filterDelegate)