Пример #1
0
        public void Composition_AppropriateData_Decodes()
        {
            var actual = ImaginationConfigCodec
                         .DecodeString(@"{
                'url': 'http://www.google.com',
                'connectionLimit': 1,
                'trustedUrls': ['url1'],
                'email': '*****@*****.**',
                'advanced': {
                    'allowNonsecure': false,
                    'superAdvanced': { 'childField': 1 }
                }
            }")
                         .Match(
                v => v,
                e => null
                );

            var expected = ImaginationConfig.Create(
                "http://www.google.com",
                Natural.Create(1).Match(x => x, _ => null),
                new[] { "url1" },
                Option <string> .Some("*****@*****.**"),
                AdvancedOptions.Create(
                    false,
                    SuperAdvancedOptions.Create(
                        ChildFieldType.Case1(1)
                        )
                    )
                );

            Assert.Equal(expected, actual);
        }