public void PopulateTestTree_CapturesTestStructureAndBasicMetadata() { TestModel testModel = PopulateTestTree(); Test rootTest = testModel.RootTest; Assert.IsNull(rootTest.Parent); Assert.AreEqual(TestKinds.Root, rootTest.Kind); Assert.IsNull(rootTest.CodeElement); Assert.IsFalse(rootTest.IsTestCase); Assert.Count(1, rootTest.Children); Test assemblyTest = rootTest.Children[0]; Assert.AreSame(rootTest, assemblyTest.Parent); Assert.AreEqual(AssemblyKind, assemblyTest.Kind); Assert.AreEqual(SimpleFixtureAssembly.Location, assemblyTest.Metadata.GetValue(MetadataKeys.File), StringComparison.OrdinalIgnoreCase); Assert.AreEqual(CodeReference.CreateFromAssembly(SimpleFixtureAssembly), assemblyTest.CodeElement.CodeReference); Assert.AreEqual(SimpleFixtureAssembly.GetName().Name, assemblyTest.Name); Assert.IsFalse(assemblyTest.IsTestCase); Assert.GreaterThanOrEqualTo(assemblyTest.Children.Count, 1); Test fixtureTest = GetDescendantByName(assemblyTest, "SimpleTest"); Assert.AreEqual(TestKinds.Fixture, fixtureTest.Kind); Assert.AreEqual(new CodeReference(SimpleFixtureAssembly.FullName, SimpleFixtureNamespace, SimpleFixtureNamespace + ".SimpleTest", null, null), fixtureTest.CodeElement.CodeReference); Assert.AreEqual("SimpleTest", fixtureTest.Name); Assert.IsFalse(fixtureTest.IsTestCase); Assert.Count(2, fixtureTest.Children); Test passTest = GetDescendantByName(fixtureTest, PassTestName); Test failTest = GetDescendantByName(fixtureTest, FailTestName); Assert.IsNotNull(passTest, "Cannot find test case '{0}'", PassTestName); Assert.IsNotNull(failTest, "Cannot find test case '{0}'", FailTestName); Assert.AreSame(fixtureTest, passTest.Parent); Assert.AreEqual(TestKinds.Test, passTest.Kind); Assert.AreEqual(new CodeReference(SimpleFixtureAssembly.FullName, SimpleFixtureNamespace, SimpleFixtureNamespace + ".SimpleTest", "Pass", null), passTest.CodeElement.CodeReference); Assert.AreEqual(PassTestName, passTest.Name); Assert.IsTrue(passTest.IsTestCase); Assert.Count(0, passTest.Children); Assert.AreSame(fixtureTest, failTest.Parent); Assert.AreEqual(TestKinds.Test, failTest.Kind); Assert.AreEqual(new CodeReference(SimpleFixtureAssembly.FullName, SimpleFixtureNamespace, SimpleFixtureNamespace + ".SimpleTest", "Fail", null), failTest.CodeElement.CodeReference); Assert.AreEqual(FailTestName, failTest.Name); Assert.IsTrue(failTest.IsTestCase); Assert.Count(0, failTest.Children); }
public void MetadataImport_AssemblyAttributes() { TestModel testModel = PopulateTestTree(); Test assemblyTest = testModel.RootTest.Children[0]; Assert.AreEqual("MbUnit Project", assemblyTest.Metadata.GetValue(MetadataKeys.Company)); Assert.AreEqual("Test", assemblyTest.Metadata.GetValue(MetadataKeys.Configuration)); Assert.Contains(assemblyTest.Metadata.GetValue(MetadataKeys.Copyright), "Gallio Project"); Assert.AreEqual("A sample test assembly for " + TestFrameworkHandle.GetTraits().Name + ".", assemblyTest.Metadata.GetValue(MetadataKeys.Description)); Assert.AreEqual("Gallio", assemblyTest.Metadata.GetValue(MetadataKeys.Product)); Assert.AreEqual(SimpleFixtureAssembly.GetName().Name, assemblyTest.Metadata.GetValue(MetadataKeys.Title)); Assert.AreEqual("Gallio", assemblyTest.Metadata.GetValue(MetadataKeys.Trademark)); Assert.AreEqual("1.2.3.4", assemblyTest.Metadata.GetValue(MetadataKeys.InformationalVersion)); Assert.IsNotEmpty(assemblyTest.Metadata.GetValue(MetadataKeys.FileVersion)); Assert.IsNotEmpty(assemblyTest.Metadata.GetValue(MetadataKeys.Version)); }