public void Given_An_Attribute_List_When_Translated_To_AttributeTypes_Should_Create_Hierarchy_By_AttributeType() { var attriubuteResults = GetAttributesResults(); _mpAttributeRepository.Setup(mocked => mocked.GetAttributes(null)).Returns(attriubuteResults); var result = _fixture.GetAttributeTypes(null); _mpAttributeRepository.VerifyAll(); Assert.IsNotNull(result); Assert.AreEqual(result.Count, 2, "Records are not grouped by attributeType"); Assert.AreEqual(result[0].Name, "AttributeType #1", "attributeType name not correct"); Assert.AreEqual(result[0].AllowMultipleSelections, true); Assert.AreEqual(result[0].Attributes.Count, 2, "Number of attributes for attributeType not correct"); Assert.AreEqual(result[1].Name, "AttributeType #2", "attributeType name not correct"); Assert.AreEqual(result[1].AllowMultipleSelections, false); Assert.AreEqual(result[1].Attributes.Count, 1, "Number of attributes for attributeType not correct"); }