public void DocumentFactory_CreateReturnsFieldDocumentForValidFieldElement()
 {
     try
     {
         ProgramElement programElement = SampleProgramElementFactory.GetSampleFieldElement();
         SandoDocument  sandoDocument  = DocumentFactory.Create(programElement);
         Assert.True(sandoDocument != null, "Null returned from DocumentFactory!");
         Assert.True(sandoDocument is FieldDocument, "FieldDocument must be returned for FieldElement object!");
     }
     catch (Exception ex)
     {
         Assert.Fail(ex.Message + ". " + ex.StackTrace);
     }
 }
        public void ProgramElementReader_ReadProgramElementFromDocumentReturnValidFieldElementForValidDocument()
        {
            FieldElement element  = SampleProgramElementFactory.GetSampleFieldElement();
            Document     document = DocumentFactory.Create(element).GetDocument();

            FieldElement returnedElement = ConverterFromHitToProgramElement.Create(document).Convert() as FieldElement;

            Assert.IsNotNull(returnedElement, "returned class element is null!");
            Assert.True(element.AccessLevel == returnedElement.AccessLevel, "AccessLevel is different!");
            Assert.True(element.ClassId == returnedElement.ClassId, "ClassId is different!");
            Assert.True(element.ClassName == returnedElement.ClassName, "ClassName is different!");
            Assert.True(element.DefinitionLineNumber == returnedElement.DefinitionLineNumber, "DefinitionLineNumber is different!");
            Assert.True(element.FieldType == returnedElement.FieldType, "FieldType is different!");
            Assert.True(StandardizeFilePath(element.FullFilePath) == returnedElement.FullFilePath, "FullFilePath is different!");
            Assert.True(element.Name == returnedElement.Name, "Name is different!");
            Assert.True(element.ProgramElementType == returnedElement.ProgramElementType, "ProgramElementType is different!");
            Assert.True(element.RawSource == returnedElement.RawSource, "Snippet is different!");
        }