public void ItShouldBeResolvableByInterfaceAndItsWrappedType()
        {
            var configurationInstanceHolder = new ConfigurationInstanceHolder();

            var configuration = new MyConfiguration(123);
            var namedInstance = new NamedInstance <MyConfiguration>(configuration, "myInstance");

            configurationInstanceHolder.Add(namedInstance);

            ServiceProvider serviceProvider = new ServiceCollection()
                                              .AddConfigurationInstanceHolder(configurationInstanceHolder)
                                              .BuildServiceProvider();

            var myConfiguration = serviceProvider.GetService <MyConfiguration>();

            Assert.NotNull(myConfiguration);
            Assert.Equal(123, myConfiguration.Id);

            var namedFromProviderInstance = serviceProvider.GetService <INamedInstance <MyConfiguration> >();

            Assert.NotNull(namedFromProviderInstance);
            Assert.Equal(123, namedFromProviderInstance.Value.Id);
            Assert.Equal("myInstance", namedFromProviderInstance.Name);
            Assert.Equal(namedInstance, namedFromProviderInstance);
        }
        public void InterpolateWithAll_FileName_Test()
        {
            // Arrange
            const string myFileName    = "myFileName.txt";
            var          specialFolder = Environment.SpecialFolder.CommonProgramFiles;
            var          fileName      = $"{{Environment.{specialFolder}}}\\{myFileName}";

            var values = EnumExtensions.ToDictionaryByName <Environment.SpecialFolder>()
                         .ToDictionary(x => x.Key, x => Environment.GetFolderPath(x.Value));

            values.Add(nameof(Environment.SystemDirectory), Environment.SystemDirectory);
            values.Add(nameof(Environment.CurrentDirectory), Environment.CurrentDirectory);

            var namedInstance = new NamedInstance(values, nameof(Environment));

            // Act
            var result = fileName.InterpolateWith(namedInstance);

            // Assert
            result.ShouldNotBeNull();
            result.ShouldBe(string.Concat(Environment.GetFolderPath(specialFolder), "\\", myFileName));
        }
 public override object Visit(NamedInstance e)
 {
     e.name = removeDefaultPfx(e.name);
     return(base.Visit(e));
 }
Example #4
0
        private object ConvertToAbox(NamedInstance iC, Statement.Modality modality, Node D)
        {
            if (D is SomeRestriction)
            {
                var iS = getSingleNamgedInstance((D as SomeRestriction).C);
                if (iS != null)
                {
                    var r = (D as SomeRestriction).R;

                    bool inv = false;
                    while (r is RoleInversion)
                    {
                        r   = (r as RoleInversion).R;
                        inv = !inv;
                    }
                    if (!inv)
                    {
                        return new RelatedInstances(null)
                               {
                                   R = r, I = iC, J = iS, modality = modality
                               }
                    }
                    ;
                    else
                    {
                        return new RelatedInstances(null)
                               {
                                   R = r, J = iC, I = iS, modality = modality
                               }
                    };
                }
            }
            else if (D is ConceptAnd)
            {
                List <Statement> ret = new List <Statement>();

                foreach (var E in (D as ConceptAnd).Exprs)
                {
                    var r = ConvertToAbox(iC, modality, E);
                    if (r == null)
                    {
                        return(null);
                    }
                    else if (r is List <Statement> )
                    {
                        ret.AddRange(r as List <Statement>);
                    }
                    else if (r is Statement)
                    {
                        ret.Add(r as Statement);
                    }
                    else
                    {
                        throw new InvalidOperationException();
                    }
                }
                return(ret);
            }
            else if (D is SomeValueRestriction)
            {
                var iV = getSingleEqualValue((D as SomeValueRestriction).B);
                if (iV != null)
                {
                    return(new InstanceValue(null)
                    {
                        R = (D as SomeValueRestriction).R, I = iC, V = iV, modality = modality
                    });
                }
            }

            return(new InstanceOf(null)
            {
                I = new NamedInstance(null)
                {
                    name = iC.name
                }, C = D, modality = modality
            });
        }
Example #5
0
 public object Visit(NamedInstance e)
 {
     return(CreateNull());
 }
Example #6
0
 public override object Visit(NamedInstance e)
 {
     e.name = applyFullUri(e.name);
     return(base.Visit(e));
 }