public void VerifyThatExpectedParameterSheetRowsAreAssembled()
        {
            var assembler = new OptionSheetRowAssembler(this.iteration, this.optionA, this.PowerEngineering);

            CollectionAssert.IsEmpty(assembler.ExcelRows);

            assembler.Assemble();

            CollectionAssert.IsNotEmpty(assembler.ExcelRows);

            foreach (var excelRow in assembler.ExcelRows)
            {
                Console.WriteLine("{0} - {1} - {2}", excelRow.Type, excelRow.Name, excelRow.Thing.Iid);
            }

            var nestedElements = assembler.ExcelRows.Where(r => r.Type == OptionSheetConstants.NE).ToList();

            Assert.AreEqual(12, nestedElements.Count);

            var solarcells = nestedElements.Where(r => r.Categories == "CELLS").ToList();

            Assert.AreEqual(8, solarcells.Count);

            var parameters = assembler.ExcelRows.Where(r => r.Type == OptionSheetConstants.NP).ToList();

            Assert.AreEqual(32, parameters.Count);

            var anyOverrides = assembler.ExcelRows.Any(r => r.Type == OptionSheetConstants.NPO);

            Assert.IsFalse(anyOverrides);

            var anySubscriptions = assembler.ExcelRows.Any(r => r.Type == OptionSheetConstants.NPS);

            Assert.IsFalse(anySubscriptions);
        }
        public void VerifyThatAssembleReturnsZeroRowsWhenNoTopElementIsDefined()
        {
            var optionSheetRowAssembler = new OptionSheetRowAssembler(this.iteration, this.option, this.domainOfExpertise);

            optionSheetRowAssembler.Assemble();

            var rows = optionSheetRowAssembler.ExcelRows;

            CollectionAssert.IsEmpty(rows);
        }
        public void VerifyThatExcelRowsAreCreatedWhenTopElementIsSet()
        {
            this.iteration.TopElement = this.elementDefinition;

            var optionSheetRowAssembler = new OptionSheetRowAssembler(this.iteration, this.option, this.domainOfExpertise);

            optionSheetRowAssembler.Assemble();

            var rows = optionSheetRowAssembler.ExcelRows;

            Assert.AreEqual(1, rows.Count());
        }
        public void Verify_that_excluded_usage_from_a_In_option_b_get_generated_as_nested_element()
        {
            var option_b = this.iteration.Option.Single(x => x.ShortName == "OPT_B");

            this.optionSheetRowAssembler = new OptionSheetRowAssembler(this.iteration, option_b, this.domainOfExpertise);

            Assert.IsEmpty(this.optionSheetRowAssembler.ExcelRows);

            this.optionSheetRowAssembler.Assemble();

            Assert.AreEqual(3, this.optionSheetRowAssembler.ExcelRows.Count());
        }