public void MetadataShouldHandleSelfReferences()
        {
            IGenerateMetadata generator = new MetadataGenerator();

            var metadata = generator.GetMetadata <SelfReferencingResource>();

            var serializerSettings = new JsonSerializerSettings
            {
                Formatting = Formatting.Indented
            };

            var json = JsonConvert.SerializeObject(metadata, serializerSettings);

            this.Assent(json);
        }
        public void MetadataShouldHandleNavigationalProperties()
        {
            IGenerateMetadata generator = new MetadataGenerator();

            var metadata = generator.GetMetadata <ParentResource>();

            var serializerSettings = new JsonSerializerSettings
            {
                Formatting = Formatting.Indented
            };

            var json = JsonConvert.SerializeObject(metadata, serializerSettings);

            this.Assent(json);
        }
        public void SettingsMetadataShouldBeCorrect()
        {
            IGenerateMetadata generator = new MetadataGenerator();

            var metadata = generator.GetMetadata(typeof(TopLevelResource));

            var serializerSettings = new JsonSerializerSettings
            {
                Formatting = Formatting.Indented
            };

            var json = JsonConvert.SerializeObject(metadata, serializerSettings);

            this.Assent(json);
        }
        public void MetadataShouldHandleDependentProperties()
        {
            IGenerateMetadata generator = new MetadataGenerator();

            var metadata = generator.GetMetadata <DependentPropertiesResource>();

            var serializerSettings = new JsonSerializerSettings
            {
                Formatting = Formatting.Indented,
                Converters = new List <JsonConverter> {
                    new StringEnumConverter()
                }
            };

            var json = JsonConvert.SerializeObject(metadata, serializerSettings);

            this.Assent(json);
        }