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)); }
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 }); }
public object Visit(NamedInstance e) { return(CreateNull()); }
public override object Visit(NamedInstance e) { e.name = applyFullUri(e.name); return(base.Visit(e)); }