public IActionResult GetDefaultAgentTransformer(AgentType agentType) { var transformerEntry = AgentProvider.GetDefaultTransformerForAgentType(agentType); var availableTransformers = transformerEntry.OtherTransformers.Concat(new[] { transformerEntry.DefaultTransformer }); var types = runtimeLoader.Transformers.Where(t => availableTransformers.Any(x => x.Type == t.TechnicalName)); return(new OkObjectResult(new { DefaultTransformer = types.First(t => t.TechnicalName == transformerEntry.DefaultTransformer.Type), OtherTransformers = types.Where(t => t.TechnicalName != transformerEntry.DefaultTransformer.Type) })); }
public Property Default_Transformers_Are_Serializable(AgentType type) { // Arrange TransformerConfigEntry expected = AgentProvider.GetDefaultTransformerForAgentType(type); string json = JsonConvert.SerializeObject(expected); // Act var actual = JsonConvert.DeserializeObject <TransformerConfigEntry>(json); // Assert bool sameDefault = expected.DefaultTransformer.Type == actual.DefaultTransformer.Type; bool sameOthers = expected.OtherTransformers .Zip(actual.OtherTransformers, (t1, t2) => t1.Type == t2.Type) .All(x => x); return(sameDefault.ToProperty().And(sameOthers)); }
public void RegistryContainsDefaultTransformerForAllAgentTypes() { Assert.All( Enum.GetValues(typeof(AgentType)).Cast <AgentType>(), t => Assert.NotNull(AgentProvider.GetDefaultTransformerForAgentType(t))); }