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().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().SetGroupFilterSettings(new Dictionary()); var l_oFilterColl = JsonSettingsDictionary.GetGoupFilterSettings(l_oSettings); Assert.That(l_oFilterColl, Is.Null); } [Test] public void TestSerializeLegacy() { var l_oSettings = new Dictionary().SetGroupFilterSettings( new Dictionary { { "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().SetGroupFilterSettings( new Dictionary { { "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() .SetGroupFilterSettings( new Dictionary { { "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() .SetGroupFilterSettings( new Dictionary { { "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().SetGroupFilterSettings( new Dictionary { { "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()), Is.EqualTo("{}")); } [Test] public void Test_ToString() { Assert.That( FilterCollectionStore.ToString(new Dictionary { { "Test1", FilterState.Off }, { "Test2", FilterState.On } }), Is.EqualTo("{(Test1= Off), (Test2= On)}")); } } }