sharee.bike-App/TestTINKLib/Fixtures/ObjectTests/TestFilterCollectionStore.cs
2021-07-12 21:31:46 +02:00

125 lines
4.4 KiB
C#

using NUnit.Framework;
using System.Collections.Generic;
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}}));
}
}
}