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