sharee.bike-App/TestShareeLib/Model/Settings/TestFilterCollectionStore.cs
2023-03-08 13:18:54 +01:00

125 lines
3.6 KiB
C#

using System.Collections.Generic;
using NUnit.Framework;
using TINK.Model;
using TINK.Model.Settings;
namespace TestTINKLib.Fixtures.ObjectTests
{
[TestFixture]
public class TestFilterCollectionStore
{
[Test]
public void TestSerialize_Null()
{
var l_oSettings = new Dictionary<string, string>().SetGroupFilterSettings(null);
var l_oFilterColl = JsonSettingsDictionary.GetGoupFilterSettings(l_oSettings);
Assert.IsNull(l_oFilterColl);
}
[Test]
public void TestSerialize_Invalid()
{
var l_oSettings = new Dictionary<string, string>().SetGroupFilterSettings(new Dictionary<string, FilterState>());
var l_oFilterColl = JsonSettingsDictionary.GetGoupFilterSettings(l_oSettings);
Assert.IsNull(l_oFilterColl);
}
[Test]
public void TestSerializeLegacy()
{
var l_oSettings = new Dictionary<string, string>().SetGroupFilterSettings(
new Dictionary<string, FilterState>
{
{ "TINK.Copri", FilterState.On },
{ "TINK.SMS", FilterState.Off},
{ "Konrad", FilterState.On }
});
var l_oFilterColl = JsonSettingsDictionary.GetGoupFilterSettings(l_oSettings);
Assert.AreEqual(2, l_oFilterColl.Count);
Assert.AreEqual(FilterState.On, l_oFilterColl["TINK"]);
Assert.AreEqual(FilterState.On, l_oFilterColl["Konrad"]);
l_oSettings = new Dictionary<string, string>().SetGroupFilterSettings(
new Dictionary<string, FilterState>
{
{ "TINK.Copri", FilterState.Off },
{ "TINK.SMS", FilterState.On},
{ "Konrad", FilterState.On }
});
l_oFilterColl = JsonSettingsDictionary.GetGoupFilterSettings(l_oSettings);
Assert.AreEqual(2, l_oFilterColl.Count);
Assert.AreEqual(FilterState.Off, l_oFilterColl["TINK"]);
Assert.AreEqual(FilterState.On, l_oFilterColl["Konrad"]);
}
[Test]
public void TestSerializeInvalid()
{
var l_oSettings = new Dictionary<string, string>()
.SetGroupFilterSettings(
new Dictionary<string, FilterState>
{
{ "TINK.SMS", FilterState.Off},
{ "Konrad", FilterState.On }
});
var l_oFilterColl = JsonSettingsDictionary.GetGoupFilterSettings(l_oSettings);
Assert.AreEqual(2, l_oFilterColl.Count);
Assert.AreEqual(FilterState.Off, l_oFilterColl["TINK"]);
Assert.AreEqual(FilterState.On, l_oFilterColl["Konrad"]);
}
[Test]
public void TestSerializeRoundtrip()
{
var l_oSettings = new Dictionary<string, string>()
.SetGroupFilterSettings(
new Dictionary<string, FilterState>
{
{ "TINK", FilterState.On },
{ "Konrad", FilterState.On }
});
var l_oFilterColl = JsonSettingsDictionary.GetGoupFilterSettings(l_oSettings);
Assert.AreEqual(2, l_oFilterColl.Count);
Assert.AreEqual(FilterState.On, l_oFilterColl["TINK"]);
Assert.AreEqual(FilterState.On, l_oFilterColl["Konrad"]);
l_oSettings = new Dictionary<string, string>().SetGroupFilterSettings(
new Dictionary<string, FilterState>
{
{ "TINK", FilterState.Off },
{ "Konrad", FilterState.On }
});
l_oFilterColl = JsonSettingsDictionary.GetGoupFilterSettings(l_oSettings);
Assert.AreEqual(2, l_oFilterColl.Count);
Assert.AreEqual(FilterState.Off, l_oFilterColl["TINK"]);
Assert.AreEqual(FilterState.On, l_oFilterColl["Konrad"]);
}
[Test]
public void Test_ToString_Emtpy()
{
Assert.AreEqual("{}", FilterCollectionStore.ToString(new Dictionary<string, FilterState>()));
}
[Test]
public void Test_ToString()
{
Assert.AreEqual(
"{(Test1= Off), (Test2= On)}",
FilterCollectionStore.ToString(new Dictionary<string, FilterState> { { "Test1", FilterState.Off }, { "Test2", FilterState.On } }));
}
}
}