Example #1
0
        public void MapToDto_ValidMetadata_Succeeds()
        {
            const string propertyWithMetadata = "PatientAddressType";

            Mapper.CreateMap <PatientAddress, PatientAddressDtoTest> ();

            Mapper.CreateMap <IMetadataItem, IMetadataItemDto>()
            .Include <ReadonlyMetadataItem, ReadonlyMetadataItemDto>()
            .Include <RequiredMetadataItem, RequiredMetadataItemDto>()
            .Include <HiddenMetadataItem, HiddenMetadataItemDto>()
            .Include <DisplayNameMetadataItem, DisplayNameMetadataItemDto>();

            var metaDataRepository = new Mock <IMetadataRepository> ();

            var metaDataRoot = new MetadataRoot(typeof(PatientAddress).FullName, 1);

            metaDataRoot.AddChild(propertyWithMetadata);

            metaDataRoot.Children[0].MetadataItems.Add(new DisplayNameMetadataItem());

            metaDataRepository.Setup(m => m.GetMetadata(typeof(PatientAddress).FullName)).Returns(metaDataRoot);

            var metadataMapper = new MetadataMapper(metaDataRepository.Object);

            var metaDataDto = new MetadataDto(typeof(PatientAddressDtoTest).FullName);

            metadataMapper.MapToDto(typeof(PatientAddress), typeof(PatientAddressDtoTest), metaDataDto);

            Assert.AreEqual(1, metaDataDto.Children.Count);
            Assert.AreEqual(1, metaDataDto.Children[0].MetadataItemDtos.Count);
            Assert.AreEqual(typeof(DisplayNameMetadataItemDto), metaDataDto.Children[0].MetadataItemDtos[0].GetType());
        }
Example #2
0
        public void MapToDto_NullMetadataDto_ThrowsArgumentException()
        {
            var metaDataRepository = new Mock <IMetadataRepository>();

            var metadataMapper = new MetadataMapper(metaDataRepository.Object);

            metadataMapper.MapToDto(typeof(PatientAddress), typeof(PatientAddressDtoTest), null);
        }
Example #3
0
        public void MapToDto_NullEntityType_ThrowsArgumentException()
        {
            var metaDataRepository = new Mock <IMetadataRepository>();

            var metadataMapper = new MetadataMapper(metaDataRepository.Object);

            var metaDataDto = new MetadataDto(typeof(PatientAddressDtoTest).FullName);

            metadataMapper.MapToDto(null, typeof(PatientAddressDtoTest), metaDataDto);
        }
Example #4
0
        public override void Load()
        {        
            // there must only be a single metadata mapper and output writer
            var metadataMapper = new MetadataMapper();
            var outputWriter = new StructuedTextOutputWriter(metadataMapper);

            Bind<IMetadataMapper>().ToConstant(metadataMapper);

            Bind<IConsistencyChecker>().To<ConsistencyChecker>();
            Bind<IConfigurationMapper>().To<ConfigurationMapper>().InSingletonScope();
            Bind<IConfigurationLoader>().To<ConfigurationLoader>();
            Bind<IFileSystemLoader>().To<FileSystemLoader>();
            Bind<IMetadataLoader>().To<MetaDataLoader>();
            Bind<IMetadataFactory>().To<MetadataFactory>().InSingletonScope();
            Bind<IConfigurationWriter>().To<ConfigurationWriter>();
            Bind<IRuleSet>().To<RuleSet>().InSingletonScope();

            Bind<StructuedTextOutputWriter>().ToConstant(outputWriter);
            Bind<ITextOutputWriter>().ToConstant(outputWriter);
            Bind<IOutputWriter<IFile>>().ToConstant(outputWriter);
            Bind<IOutputWriter<IDirectory>>().ToConstant(outputWriter);
            Bind<IOutputWriter<IArtist>>().ToConstant(outputWriter);
            Bind<IOutputWriter<IAlbum>>().ToConstant(outputWriter);
            Bind<IOutputWriter<IDisk>>().ToConstant(outputWriter);
            Bind<IOutputWriter<ITrack>>().ToConstant(outputWriter);


            Bind<IDynamicConfigurator>().To<DynamicConfigurator>();

            // default configuration node (only a single instance)
            var mutableDefaultConfigNode = new MutableConfigurationNode();
            var defaultConfigNode = new DefaultConfigurationNode(mutableDefaultConfigNode);            

            Bind<IMutableConfigurationNode>().ToConstant(mutableDefaultConfigNode).WhenInjectedExactlyInto<DynamicConfigurator>();
            Bind<IDefaultConfigurationNode>().ToConstant(defaultConfigNode);
        }
Example #5
0
        public override void Load()
        {
            // there must only be a single metadata mapper and output writer
            var metadataMapper = new MetadataMapper();
            var outputWriter   = new StructuedTextOutputWriter(metadataMapper);

            Bind <IMetadataMapper>().ToConstant(metadataMapper);

            Bind <IConsistencyChecker>().To <ConsistencyChecker>();
            Bind <IConfigurationMapper>().To <ConfigurationMapper>().InSingletonScope();
            Bind <IConfigurationLoader>().To <ConfigurationLoader>();
            Bind <IFileSystemLoader>().To <FileSystemLoader>();
            Bind <IMetadataLoader>().To <MetaDataLoader>();
            Bind <IMetadataFactory>().To <MetadataFactory>().InSingletonScope();
            Bind <IConfigurationWriter>().To <ConfigurationWriter>();
            Bind <IRuleSet>().To <RuleSet>().InSingletonScope();

            Bind <StructuedTextOutputWriter>().ToConstant(outputWriter);
            Bind <ITextOutputWriter>().ToConstant(outputWriter);
            Bind <IOutputWriter <IFile> >().ToConstant(outputWriter);
            Bind <IOutputWriter <IDirectory> >().ToConstant(outputWriter);
            Bind <IOutputWriter <IArtist> >().ToConstant(outputWriter);
            Bind <IOutputWriter <IAlbum> >().ToConstant(outputWriter);
            Bind <IOutputWriter <IDisk> >().ToConstant(outputWriter);
            Bind <IOutputWriter <ITrack> >().ToConstant(outputWriter);


            Bind <IDynamicConfigurator>().To <DynamicConfigurator>();

            // default configuration node (only a single instance)
            var mutableDefaultConfigNode = new MutableConfigurationNode();
            var defaultConfigNode        = new DefaultConfigurationNode(mutableDefaultConfigNode);

            Bind <IMutableConfigurationNode>().ToConstant(mutableDefaultConfigNode).WhenInjectedExactlyInto <DynamicConfigurator>();
            Bind <IDefaultConfigurationNode>().ToConstant(defaultConfigNode);
        }