sharee.bike-App/SharedBusinessLogic.Tests/Model/Settings/TestFilterCollectionStore.cs

124 lines
3.8 KiB
C#
Raw Normal View History

2024-04-09 12:53:23 +02:00
using System.Collections.Generic;
2022-08-30 15:42:25 +02:00
using NUnit.Framework;
2024-04-09 12:53:23 +02:00
using ShareeBike.Model;
using ShareeBike.Model.Settings;
2021-07-12 21:31:46 +02:00
2024-04-09 12:53:23 +02:00
namespace SharedBusinessLogic.Tests.Fixtures.ObjectTests
2021-07-12 21:31:46 +02:00
{
2022-09-06 16:08:19 +02:00
[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);
2024-04-09 12:53:23 +02:00
Assert.That(l_oFilterColl, Is.Null);
2022-09-06 16:08:19 +02:00
}
[Test]
public void TestSerialize_Invalid()
{
var l_oSettings = new Dictionary<string, string>().SetGroupFilterSettings(new Dictionary<string, FilterState>());
var l_oFilterColl = JsonSettingsDictionary.GetGoupFilterSettings(l_oSettings);
2024-04-09 12:53:23 +02:00
Assert.That(l_oFilterColl, Is.Null);
2022-09-06 16:08:19 +02:00
}
[Test]
public void TestSerializeLegacy()
{
var l_oSettings = new Dictionary<string, string>().SetGroupFilterSettings(
new Dictionary<string, FilterState>
{
{ "TINK.Copri", FilterState.On },
{ "TINK.SMS", FilterState.Off},
2024-04-09 12:53:23 +02:00
{ "Citybike", FilterState.On }
2022-09-06 16:08:19 +02:00
});
var l_oFilterColl = JsonSettingsDictionary.GetGoupFilterSettings(l_oSettings);
2024-04-09 12:53:23 +02:00
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));
2022-09-06 16:08:19 +02:00
l_oSettings = new Dictionary<string, string>().SetGroupFilterSettings(
new Dictionary<string, FilterState>
{
{ "TINK.Copri", FilterState.Off },
{ "TINK.SMS", FilterState.On},
2024-04-09 12:53:23 +02:00
{ "Citybike", FilterState.On }
2022-09-06 16:08:19 +02:00
});
l_oFilterColl = JsonSettingsDictionary.GetGoupFilterSettings(l_oSettings);
2024-04-09 12:53:23 +02:00
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));
2022-09-06 16:08:19 +02:00
}
[Test]
public void TestSerializeInvalid()
{
var l_oSettings = new Dictionary<string, string>()
.SetGroupFilterSettings(
new Dictionary<string, FilterState>
{
{ "TINK.SMS", FilterState.Off},
2024-04-09 12:53:23 +02:00
{ "Citybike", FilterState.On }
2022-09-06 16:08:19 +02:00
});
var l_oFilterColl = JsonSettingsDictionary.GetGoupFilterSettings(l_oSettings);
2024-04-09 12:53:23 +02:00
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));
2022-09-06 16:08:19 +02:00
}
[Test]
public void TestSerializeRoundtrip()
{
var l_oSettings = new Dictionary<string, string>()
.SetGroupFilterSettings(
new Dictionary<string, FilterState>
{
2024-04-09 12:53:23 +02:00
{ "ShareeBike", FilterState.On },
{ "Citybike", FilterState.On }
2022-09-06 16:08:19 +02:00
});
var l_oFilterColl = JsonSettingsDictionary.GetGoupFilterSettings(l_oSettings);
2024-04-09 12:53:23 +02:00
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));
2022-09-06 16:08:19 +02:00
l_oSettings = new Dictionary<string, string>().SetGroupFilterSettings(
new Dictionary<string, FilterState>
{
2024-04-09 12:53:23 +02:00
{ "ShareeBike", FilterState.Off },
{ "Citybike", FilterState.On }
2022-09-06 16:08:19 +02:00
});
l_oFilterColl = JsonSettingsDictionary.GetGoupFilterSettings(l_oSettings);
2024-04-09 12:53:23 +02:00
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));
2022-09-06 16:08:19 +02:00
}
[Test]
public void Test_ToString_Emtpy()
{
2024-04-09 12:53:23 +02:00
Assert.That(FilterCollectionStore.ToString(new Dictionary<string, FilterState>()), Is.EqualTo("{}"));
2022-09-06 16:08:19 +02:00
}
[Test]
public void Test_ToString()
{
2024-04-09 12:53:23 +02:00
Assert.That(
FilterCollectionStore.ToString(new Dictionary<string, FilterState> { { "Test1", FilterState.Off }, { "Test2", FilterState.On } }), Is.EqualTo("{(Test1= Off), (Test2= On)}"));
2022-09-06 16:08:19 +02:00
}
}
2021-07-12 21:31:46 +02:00
}