コード例 #1
0
        public void Not_Implement_ReadJson()
        {
            var    sut = new SettingsJsonConverter();
            Action a   = () => sut.ReadJson(null, null, null, false, null);

            a.Should().Throw <NotImplementedException>();
        }
コード例 #2
0
        public void Throw_If_Given_Bad_Settings()
        {
            // arrange
            var    serializer = new SettingsJsonConverter();
            Action mightThrow = () => JsonConvert.DeserializeObject <IEnumerable <ISettings> >(@"[]", serializer);
            Func <IEnumerable <ISettings> > mightThrow2 = () => JsonConvert.DeserializeObject <IEnumerable <ISettings> >(@"{""Mortician.Test.SomeSettings, Mortician.Test, Version=0.0.1.0, Culture=neutral, PublicKeyToken=null"":{""Name"":""Duke""},""Mortician.Test.OtherSettings, Mortician.Test, Version=0.0.1.0, Culture=neutral, PublicKeyToken=null"":{""Num"":""hello""}}", serializer);

            // act
            // assert
            mightThrow.Should().Throw <SerializationException>();
            mightThrow2().Should().HaveCount(1);
        }
コード例 #3
0
        public void Should_Skip_If_The_Type_Cannot_Be_Found()
        {
            // arrange
            var serializer = new SettingsJsonConverter();

            // act
            var settings = JsonConvert.DeserializeObject <IEnumerable <ISettings> >(
                @"{""Mortician.Test.SomeSettingsThatDontExist, Mortician.Test, Version=0.0.1.0, Culture=neutral, PublicKeyToken=null"":{""Name"":""Duke""},""Mortician.Test.OtherSettings, Mortician.Test, Version=0.0.1.0, Culture=neutral, PublicKeyToken=null"":{""Num"":1}}", serializer).ToList();

            // assert
            settings.Should().HaveCount(1);
            settings.OfType <OtherSettings>().First().Num.Should().Be(1);
        }
コード例 #4
0
        public void Write_Json_For_All_Settings()
        {
            var settings = new ISettings[] { new MockSettingsA(), new MockSettingsB() };
            var sut      = new SettingsJsonConverter();

            using (var tw = new StringWriter())
                using (var jw = new JsonTextWriter(tw))
                {
                    sut.WriteJson(jw, settings, null);
                    tw.ToString().Should()
                    .Be(
                        "{\"McFly.WinDbg.Test.MockSettingsA\":{\"A\":null},\"McFly.WinDbg.Test.MockSettingsB\":{\"B\":null}}");
                }
        }
コード例 #5
0
        public void Serialize_Settings()
        {
            // arrange
            var settings = new SomeSettings()
            {
                Name = "Duke"
            };
            var other = new OtherSettings()
            {
                Num = 1
            };
            var all        = new ISettings[] { settings, other };
            var serializer = new SettingsJsonConverter();

            // act
            var json = JsonConvert.SerializeObject(all, Formatting.None, serializer);

            // assert
            json.Should()
            .Be(
                @"{""Mortician.Test.SomeSettings, Mortician.Test, Version=0.0.1.0, Culture=neutral, PublicKeyToken=null"":{""Name"":""Duke""},""Mortician.Test.OtherSettings, Mortician.Test, Version=0.0.1.0, Culture=neutral, PublicKeyToken=null"":{""Num"":1}}");
        }