Esempio n. 1
0
        public void SetUp()
        {
            this.serviceLocator = new Mock <IServiceLocator>();
            ServiceLocator.SetLocatorProvider(() => this.serviceLocator.Object);
            this.serviceLocator.Setup(x => x.GetInstance <IMetaDataProvider>()).Returns(new MetaDataProvider());

            var sourcePath = Path.Combine(TestContext.CurrentContext.TestDirectory, @"..\..\..\TestData\test.xlsx");
            var fileinfo   = new FileInfo(sourcePath);

            var targetPath = Path.Combine(TestContext.CurrentContext.TestDirectory, @"..\..\..\TestData\temporarytestfile.xlsx");
            var tempfile   = fileinfo.CopyTo(targetPath, true);

            this.excelFilePath = tempfile.FullName;

            this.InstantiateThings();

            var elements = new List <ElementDefinition>
            {
                this.elementDefinition
            };

            var parameterTypes = new List <ParameterType>
            {
                this.parameterType
            };

            var manualyValues = new Dictionary <string, string> {
                { parameterTypes[0].Iid.ToString(), "1" }
            };

            this.workbookData = new CrossviewWorkbookData(
                elements.Select(x => x.Iid),
                parameterTypes.Select(x => x.Iid),
                manualyValues);
        }
        /// <summary>
        /// Write the <see cref="Iteration"/> data to the workbook as a custom XML part
        /// </summary>
        private void WriteWorkbookDataToWorkbook()
        {
            var workbookData = new CrossviewWorkbookData(
                this.workbookMetadata.ElementDefinitions,
                this.workbookMetadata.ParameterTypes,
                this.workbookMetadata.PersistValues ? this.workbookMetadata.ParameterValues : new Dictionary <string, string>());

            var workbookDataDal = new CrossviewWorkbookDataDal(this.workbook);

            workbookDataDal.Write(workbookData);
        }
        public void VefrifyThatWorkbookDataSerializes()
        {
            string xmlstringpass1;
            string xmlstringpass2;

            var elements = new List <ElementDefinition>
            {
                this.elementDefinition
            };

            var parameterTypes = new List <ParameterType>
            {
                this.parameterType
            };

            var manualyValues = new Dictionary <string, string> {
                { parameterTypes[0].Iid.ToString(), "1" }
            };

            var workbookDataPass1 = new CrossviewWorkbookData(
                elements.Select(ed => ed.Iid),
                parameterTypes.Select(pt => pt.Iid),
                manualyValues);
            CrossviewWorkbookData workbookDataPass2;

            using (var writer = new StringWriter())
            {
                var serializer = new XmlSerializer(typeof(CrossviewWorkbookData));
                serializer.Serialize(writer, workbookDataPass1);
                xmlstringpass1 = writer.ToString();
            }

            using (var reader = new StringReader(xmlstringpass1))
            {
                var serializer = new XmlSerializer(typeof(CrossviewWorkbookData));
                workbookDataPass2 = serializer.Deserialize(reader) as CrossviewWorkbookData;
            }

            Assert.NotNull(workbookDataPass2);

            using (var writer = new StringWriter())
            {
                var serializer = new XmlSerializer(typeof(CrossviewWorkbookData));
                serializer.Serialize(writer, workbookDataPass2);
                xmlstringpass2 = writer.ToString();
            }

            xmlstringpass1 = xmlstringpass1.Replace("\r\n", "\n");
            xmlstringpass2 = xmlstringpass2.Replace("\r\n", "\n");

            Assert.AreEqual(xmlstringpass1, xmlstringpass2);
        }