public void GetAgentInfoFromNameShouldSplitNamesIntoRightValues() { //Arrange var observedPools = new List <AgentPoolInformation> { new AgentPoolInformation() { PoolName = "Some-Build-Azure-Linux", ResourceGroupPrefix = "rg-m01-prd-linuxagents-0" }, new AgentPoolInformation() { PoolName = "Some-Build-Azure-Linux-Canary", ResourceGroupPrefix = "rg-m01-prd-linuxcanary-0" }, new AgentPoolInformation() { PoolName = "Some-Build-Azure-Linux-Fallback", ResourceGroupPrefix = "rg-m01-prd-linuxfallback-0" }, new AgentPoolInformation() { PoolName = "Some-Build-Azure-Linux-Preview", ResourceGroupPrefix = "rg-m01-prd-linuxpreview-0" }, new AgentPoolInformation() { PoolName = "Some-Build-Azure-Windows", ResourceGroupPrefix = "rg-m01-prd-winagents-0" }, new AgentPoolInformation() { PoolName = "Some-Build-Azure-Windows-Canary", ResourceGroupPrefix = "rg-m01-prd-wincanary-0" }, new AgentPoolInformation() { PoolName = "Some-Build-Azure-Windows-Fallback", ResourceGroupPrefix = "rg-m01-prd-winfallback-0" }, new AgentPoolInformation() { PoolName = "Some-Build-Azure-Windows-Preview", ResourceGroupPrefix = "rg-m01-prd-winpreview-0" } }; var fixture = new Fixture(); fixture.Customize <AgentStatus>(a => a.With(agent => agent.Name, "linux-agent-canary-1-84432-2296-000000-1")); fixture.Customize <AgentPoolInfo>(a => a.With(pool => pool.Name, "Some-Build-Azure-Linux-Canary")); var result = AgentPoolScanFunction.GetAgentInfoFromName(fixture.Create <AgentStatus>(), fixture.Create <AgentPoolInfo>(), observedPools); Assert.Equal(0, result.InstanceId); Assert.Equal("rg-m01-prd-linuxcanary-01", result.ResourceGroup); }