sharee.bike-App/SharedBusinessLogic.Tests/Model/Settings/TestFilterCollectionStore.cs
2024-04-09 12:53:23 +02:00

124 lines
3.8 KiB
C#

using System.Collections.Generic;
using NUnit.Framework;
using ShareeBike.Model;
using ShareeBike.Model.Settings;
namespace SharedBusinessLogic.Tests.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.That(l_oFilterColl, Is.Null);
}
[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.That(l_oFilterColl, Is.Null);
}
[Test]
public void TestSerializeLegacy()
{
var l_oSettings = new Dictionary<string, string>().SetGroupFilterSettings(
new Dictionary<string, FilterState>
{
{ "TINK.Copri", FilterState.On },
{ "TINK.SMS", FilterState.Off},
{ "Citybike", FilterState.On }
});
var l_oFilterColl = JsonSettingsDictionary.GetGoupFilterSettings(l_oSettings);
Assert.That(l_oFilterColl.Count, Is.EqualTo(2));
Assert.That(l_oFilterColl["TINK"], Is.EqualTo(FilterState.On));
Assert.That(l_oFilterColl["Citybike"], Is.EqualTo(FilterState.On));
l_oSettings = new Dictionary<string, string>().SetGroupFilterSettings(
new Dictionary<string, FilterState>
{
{ "TINK.Copri", FilterState.Off },
{ "TINK.SMS", FilterState.On},
{ "Citybike", FilterState.On }
});
l_oFilterColl = JsonSettingsDictionary.GetGoupFilterSettings(l_oSettings);
Assert.That(l_oFilterColl.Count, Is.EqualTo(2));
Assert.That(l_oFilterColl["TINK"], Is.EqualTo(FilterState.Off));
Assert.That(l_oFilterColl["Citybike"], Is.EqualTo(FilterState.On));
}
[Test]
public void TestSerializeInvalid()
{
var l_oSettings = new Dictionary<string, string>()
.SetGroupFilterSettings(
new Dictionary<string, FilterState>
{
{ "TINK.SMS", FilterState.Off},
{ "Citybike", FilterState.On }
});
var l_oFilterColl = JsonSettingsDictionary.GetGoupFilterSettings(l_oSettings);
Assert.That(l_oFilterColl.Count, Is.EqualTo(2));
Assert.That(l_oFilterColl["TINK"], Is.EqualTo(FilterState.Off));
Assert.That(l_oFilterColl["Citybike"], Is.EqualTo(FilterState.On));
}
[Test]
public void TestSerializeRoundtrip()
{
var l_oSettings = new Dictionary<string, string>()
.SetGroupFilterSettings(
new Dictionary<string, FilterState>
{
{ "ShareeBike", FilterState.On },
{ "Citybike", FilterState.On }
});
var l_oFilterColl = JsonSettingsDictionary.GetGoupFilterSettings(l_oSettings);
Assert.That(l_oFilterColl.Count, Is.EqualTo(2));
Assert.That(l_oFilterColl["ShareeBike"], Is.EqualTo(FilterState.On));
Assert.That(l_oFilterColl["Citybike"], Is.EqualTo(FilterState.On));
l_oSettings = new Dictionary<string, string>().SetGroupFilterSettings(
new Dictionary<string, FilterState>
{
{ "ShareeBike", FilterState.Off },
{ "Citybike", FilterState.On }
});
l_oFilterColl = JsonSettingsDictionary.GetGoupFilterSettings(l_oSettings);
Assert.That(l_oFilterColl.Count, Is.EqualTo(2));
Assert.That(l_oFilterColl["ShareeBike"], Is.EqualTo(FilterState.Off));
Assert.That(l_oFilterColl["Citybike"], Is.EqualTo(FilterState.On));
}
[Test]
public void Test_ToString_Emtpy()
{
Assert.That(FilterCollectionStore.ToString(new Dictionary<string, FilterState>()), Is.EqualTo("{}"));
}
[Test]
public void Test_ToString()
{
Assert.That(
FilterCollectionStore.ToString(new Dictionary<string, FilterState> { { "Test1", FilterState.Off }, { "Test2", FilterState.On } }), Is.EqualTo("{(Test1= Off), (Test2= On)}"));
}
}
}