internal static NoDuplicateList <AbsElement> ReadInFromTemplate(string templatePath)
        {
            var data = Template.GetDataFromFileByKeyword(templatePath, "WindowMaterial:SimpleGlazingSystem");

            var list = new NoDuplicateList <AbsElement>();

            foreach (var materialData in data.Where(materialData => materialData.Count() <= 5 && materialData.Count() >= 4))
            {
                switch (materialData.Count())
                {
                case 5:
                    list.Add(new WindowMaterialSimpleGlazingSystem(materialData[1],
                                                                   Convert.ToDouble(materialData[2], CultureInfo.InvariantCulture),
                                                                   Convert.ToDouble(materialData[3], CultureInfo.InvariantCulture),
                                                                   Convert.ToDouble(materialData[4], CultureInfo.InvariantCulture)));
                    break;

                case 4:
                    list.Add(new WindowMaterialSimpleGlazingSystem(materialData[1],
                                                                   Convert.ToDouble(materialData[2], CultureInfo.InvariantCulture),
                                                                   Convert.ToDouble(materialData[3], CultureInfo.InvariantCulture)));
                    break;
                }
            }
            return(list);
        }
示例#2
0
        public void Indexer_get_item()
        {
            var list = new NoDuplicateList <string> {
                "test"
            };

            Assert.AreEqual("test", list[0]);
        }
示例#3
0
        public void IndexOf_non_existing_item()
        {
            var list = new NoDuplicateList <string> {
                "test"
            };

            Assert.AreEqual(-1, list.IndexOf("other"));
        }
示例#4
0
        public void Contains_single_item_exists()
        {
            var list = new NoDuplicateList <string> {
                "test"
            };

            Assert.IsTrue(list.Contains("test"));
        }
示例#5
0
 internal static NoDuplicateList<AbsElement> ReadWindowMaterialsFromTemplate(string templatePath)
 {
     var windowMaterialList= new NoDuplicateList<AbsElement>();
     windowMaterialList.AddNoDuplicateList(WindowMaterialGas.ReadInFromTemplate(templatePath));
     windowMaterialList.AddNoDuplicateList(WindowMaterialGlazing.ReadInFromTemplate(templatePath));
     windowMaterialList.AddNoDuplicateList(WindowMaterialSimpleGlazingSystem.ReadInFromTemplate(templatePath));
     return windowMaterialList;
 }
示例#6
0
        public void Capacity()
        {
            var list = new NoDuplicateList <string>(1234);

            Assert.AreEqual(1234, list.Capacity);
            Assert.AreEqual(0, list.Count);
            Assert.AreEqual(0, list.Count());
        }
示例#7
0
        public void Contains_single_item_doesnt_exist()
        {
            var list = new NoDuplicateList <string> {
                "test"
            };

            Assert.IsFalse(list.Contains("other"));
        }
示例#8
0
        public void Add_two_different_items_count_two()
        {
            var list = new NoDuplicateList <string> {
                "test1", "test2"
            };

            Assert.AreEqual(2, list.Count);
            Assert.AreEqual(2, list.Count());
        }
示例#9
0
        public void Insert_single_item_count_one()
        {
            var list = new NoDuplicateList <string>();

            list.Insert(0, "test");

            Assert.AreEqual(1, list.Count);
            Assert.AreEqual(1, list.Count());
        }
示例#10
0
        internal static NoDuplicateList<AbsElement> ReadMaterialsFromTemplate(string templatePath)
        {
            var materialList = new NoDuplicateList<AbsElement>();
            materialList.AddNoDuplicateList(Material.ReadInFromTemplate(templatePath));
            materialList.AddNoDuplicateList(MaterialAirGap.ReadInFromTemplate(templatePath));
            materialList.AddNoDuplicateList(MaterialNoMass.ReadInFromTemplate(templatePath));

            return materialList;
        }
示例#11
0
        public void Add_same_item_twice_count_one()
        {
            var list = new NoDuplicateList <string> {
                "test", "test"
            };

            Assert.AreEqual(1, list.Count);
            Assert.AreEqual(1, list.Count());
        }
示例#12
0
        internal static NoDuplicateList <AbsElement> ReadWindowMaterialsFromTemplate(string templatePath)
        {
            var windowMaterialList = new NoDuplicateList <AbsElement>();

            windowMaterialList.AddNoDuplicateList(WindowMaterialGas.ReadInFromTemplate(templatePath));
            windowMaterialList.AddNoDuplicateList(WindowMaterialGlazing.ReadInFromTemplate(templatePath));
            windowMaterialList.AddNoDuplicateList(WindowMaterialSimpleGlazingSystem.ReadInFromTemplate(templatePath));
            return(windowMaterialList);
        }
示例#13
0
        internal static NoDuplicateList <AbsElement> ReadMaterialsFromTemplate(string templatePath)
        {
            var materialList = new NoDuplicateList <AbsElement>();

            materialList.AddNoDuplicateList(Material.ReadInFromTemplate(templatePath));
            materialList.AddNoDuplicateList(MaterialAirGap.ReadInFromTemplate(templatePath));
            materialList.AddNoDuplicateList(MaterialNoMass.ReadInFromTemplate(templatePath));

            return(materialList);
        }
示例#14
0
        public void Add_same_item_twice_case_insensitive_count_one()
        {
            var list = new NoDuplicateList <string>(StringComparer.InvariantCultureIgnoreCase)
            {
                "test", "Test"
            };

            Assert.AreEqual(1, list.Count);
            Assert.AreEqual(1, list.Count());
        }
示例#15
0
 public Elements()
 {
     Zones = new NoDuplicateList<Zone>();
     ZoneLists = new NoDuplicateList<ZoneList>();
     Surfaces = new NoDuplicateList<Surface>();
     FenestrationSurfaces = new NoDuplicateList<FenestrationSurface>();
     ShadingSurfaces = new NoDuplicateList<ShadingSurface>();
     ShadingOverhangs = new NoDuplicateList<ShadingOverhang>();
     Materials = new NoDuplicateList<Material>();
     Constructions = new NoDuplicateList<Construction>();
 }
示例#16
0
        internal static NoDuplicateList<AbsElement> ReadInFromTemplate(string templatePath)
        {
            var data = Template.GetDataFromFileByKeyword(templatePath, "Material:AirGap");

            var list = new NoDuplicateList<AbsElement>();
            foreach (var materialData in data.Where(materialData=>materialData.Count()==3))
            {
                list.Add(new MaterialAirGap(materialData[1], Convert.ToDouble(materialData[2], CultureInfo.InvariantCulture)));
            }
            return list;
        }
示例#17
0
        public void Remove_single_item_at_position()
        {
            var list = new NoDuplicateList <string> {
                "test"
            };

            list.RemoveAt(0);
            Assert.IsFalse(list.Contains("test"));
            Assert.AreEqual(0, list.Count);
            Assert.AreEqual(0, list.Count());
        }
示例#18
0
        public void Remove_single_item()
        {
            var list = new NoDuplicateList <string> {
                "test"
            };

            Assert.IsTrue(list.Remove("test"));
            Assert.IsFalse(list.Contains("test"));
            Assert.AreEqual(0, list.Count);
            Assert.AreEqual(0, list.Count());
        }
示例#19
0
        public void Remove_non_existing_item()
        {
            var list = new NoDuplicateList <string> {
                "test"
            };

            Assert.IsFalse(list.Remove("other"));
            Assert.IsTrue(list.Contains("test"));
            Assert.AreEqual(1, list.Count);
            Assert.AreEqual(1, list.Count());
        }
示例#20
0
        public void preserves_order()
        {
            var list = new NoDuplicateList <int>();

            list.AddRange(Enumerable.Range(1, 100));

            var actual   = list.ToList();
            var expected = Enumerable.Range(1, 100).ToList();

            Assert.AreEqual(expected, actual);
        }
示例#21
0
        internal static NoDuplicateList <AbsElement> ReadInFromTemplate(string templatePath)
        {
            var data = Template.GetDataFromFileByKeyword(templatePath, "WindowMaterial:Gas");

            var list = new NoDuplicateList <AbsElement>();

            foreach (var materialData in data.Where(materialData => materialData.Count() == 4))
            {
                list.Add(new WindowMaterialGas(materialData[1], materialData[2], Convert.ToDouble(materialData[3], CultureInfo.InvariantCulture)));
            }
            return(list);
        }
示例#22
0
        public void Clear()
        {
            var list = new NoDuplicateList <string> {
                "test"
            };

            list.Clear();

            Assert.AreEqual(0, list.Count);
            Assert.AreEqual(0, list.Count());
            Assert.IsFalse(list.Contains("test"));
        }
示例#23
0
        public void Indexer_set_item()
        {
            var list = new NoDuplicateList <string> {
                "test"
            };

            list[0] = "new";

            Assert.IsFalse(list.Contains("test"));
            Assert.IsTrue(list.Contains("new"));
            Assert.AreEqual("new", list[0]);
            Assert.AreEqual(1, list.Count);
            Assert.AreEqual(1, list.Count());
        }
示例#24
0
 public Elements()
 {
     Zones = new NoDuplicateList<Zone>();
     ZoneLists = new NoDuplicateList<ZoneList>();
     BuildingSurfaces= new NoDuplicateList<BuildingSurface>();
     FenestrationSurfaces = new NoDuplicateList<FenestrationSurface>();
     ShadingSurfaces = new NoDuplicateList<ShadingSurface>();
     ShadingOverhangs = new NoDuplicateList<ShadingOverhang>();
     Materials = new NoDuplicateList<Material>();
     Constructions = new NoDuplicateList<Construction>();
     Lights = new NoDuplicateList<Lights>();
     Peoples = new NoDuplicateList<People>();
     ElectricEquipments = new NoDuplicateList<ElectricEquipment>();
     Thermostats = new NoDuplicateList<Thermostat>();
 }
示例#25
0
        public static Dictionary<string, NoDuplicateList<AbsElement>> GetConstrutionsAndMaterials(string templateFile)
        {
            var constructions =new NoDuplicateList<AbsElement>();
            constructions.AddNoDuplicateList(Construction.ReadInFromTemplate(templateFile));

            var materials = MaterialReader.ReadMaterialsFromTemplate(templateFile);
            var windowMaterials = MaterialReader.ReadWindowMaterialsFromTemplate(templateFile);

            return new Dictionary<string, NoDuplicateList<AbsElement>>()
            {
                { "constructions", constructions},
                { "materials", materials },
                { "windowMaterials", windowMaterials }

            };
        }
示例#26
0
        public static Dictionary <string, NoDuplicateList <AbsElement> > GetConstrutionsAndMaterials(string templateFile)
        {
            var constructions = new NoDuplicateList <AbsElement>();

            constructions.AddNoDuplicateList(Construction.ReadInFromTemplate(templateFile));

            var materials       = MaterialReader.ReadMaterialsFromTemplate(templateFile);
            var windowMaterials = MaterialReader.ReadWindowMaterialsFromTemplate(templateFile);

            return(new Dictionary <string, NoDuplicateList <AbsElement> >()
            {
                { "constructions", constructions },
                { "materials", materials },
                { "windowMaterials", windowMaterials }
            });
        }
示例#27
0
        /// <summary>
        /// Reads in Constructions from the template and returns a list of Constructions
        /// </summary>
        /// <param name="template"></param>
        /// <returns></returns>
        public static NoDuplicateList <AbsElement> ReadInFromTemplate(string template)
        {
            var data = Template.GetDataFromFileByKeyword(template, "Construction");

            var list = new NoDuplicateList <AbsElement>();

            foreach (var constructionData in data)
            {
                var layer = new List <string>();
                for (var i = 2; i < constructionData.Count; i++)
                {
                    layer.Add(constructionData[i]);
                }
                list.Add(new Construction(constructionData[1], layer));
            }
            return(list);
        }
示例#28
0
        public static Dictionary<string, NoDuplicateList<AbsElement>> ReadInClassesFromTemplate(string templatePath)
        {
            var constructions =new NoDuplicateList<AbsElement>();
            constructions.AddNoDuplicateList(Construction.ReadInFromTemplate(templatePath));

            var materials = MaterialReader.ReadMaterialsFromTemplate(templatePath);
            //    new NoDuplicateList<IReadable>();
            //materials.AddNoDuplicateList(Material.ReadInFromTemplate(templatePath));
            //materials.AddNoDuplicateList(MaterialNoMass.ReadInFromTemplate(templatePath));
            //materials.AddNoDuplicateList(MaterialAirGap.ReadInFromTemplate(templatePath));

            var windowMaterials = MaterialReader.ReadWindowMaterialsFromTemplate(templatePath);
            //    new NoDuplicateList<IReadable>();
            //windowMaterials.AddNoDuplicateList(WindowMaterialGlazing.ReadInFromTemplate(templatePath));
            //windowMaterials.AddNoDuplicateList(WindowMaterialSimpleGlazingSystem.ReadInFromTemplate(templatePath));
            //windowMaterials.AddNoDuplicateList(WindowMaterialGas.ReadInFromTemplate(templatePath));

            return new Dictionary<string, NoDuplicateList<AbsElement>>()
            {
                { "constructions", constructions},
                { "materials", materials },
                { "windowMaterials", windowMaterials }

            };
        }
示例#29
0
        /// <summary>
        /// Reads in Constructions from the template and returns a list of Constructions
        /// </summary>
        /// <param name="template"></param>
        /// <returns></returns>
        public static NoDuplicateList<AbsElement> ReadInFromTemplate(string template)
        {
            var data = Template.GetDataFromFileByKeyword(template, "Construction");

            var list = new NoDuplicateList<AbsElement>();
            foreach (var constructionData in data)
            {
                var layer=new List<string>();
                for (var i = 2; i < constructionData.Count; i++)
                {
                    layer.Add(constructionData[i]);
                }
                list.Add(new Construction(constructionData[1],layer));
            }
            return list;
        }
        internal static NoDuplicateList<AbsElement> ReadInFromTemplate(string templatePath)
        {
            var data = Template.GetDataFromFileByKeyword(templatePath, "WindowMaterial:SimpleGlazingSystem");

            var list = new NoDuplicateList<AbsElement>();
            foreach (var materialData in data.Where(materialData => materialData.Count() <= 5 && materialData.Count()>=4))
            {
                switch (materialData.Count())
                {
                    case 5:
                        list.Add(new WindowMaterialSimpleGlazingSystem(materialData[1],
                            Convert.ToDouble(materialData[2], CultureInfo.InvariantCulture),
                            Convert.ToDouble(materialData[3], CultureInfo.InvariantCulture),
                            Convert.ToDouble(materialData[4], CultureInfo.InvariantCulture)));
                        break;
                    case 4:
                        list.Add(new WindowMaterialSimpleGlazingSystem(materialData[1],
                            Convert.ToDouble(materialData[2], CultureInfo.InvariantCulture),
                            Convert.ToDouble(materialData[3], CultureInfo.InvariantCulture)));
                        break;
                }
            }
            return list;
        }
示例#31
0
        internal static NoDuplicateList<AbsElement> ReadInFromTemplate(string templatePath)
        {
            var data = Template.GetDataFromFileByKeyword(templatePath, "WindowMaterial:Glazing");

            var list = new NoDuplicateList<AbsElement>();
            foreach (var materialData in data.Where(materialData=>materialData.Count()==15))
            {
                list.Add(new WindowMaterialGlazing(materialData[1], materialData[2], materialData[3],
                                Convert.ToDouble(materialData[4], CultureInfo.InvariantCulture), Convert.ToDouble(materialData[5], CultureInfo.InvariantCulture),
                                Convert.ToDouble(materialData[6], CultureInfo.InvariantCulture), Convert.ToDouble(materialData[7], CultureInfo.InvariantCulture),
                                Convert.ToDouble(materialData[8], CultureInfo.InvariantCulture), Convert.ToDouble(materialData[9], CultureInfo.InvariantCulture),
                                Convert.ToDouble(materialData[10], CultureInfo.InvariantCulture), Convert.ToDouble(materialData[11], CultureInfo.InvariantCulture),
                                Convert.ToDouble(materialData[12], CultureInfo.InvariantCulture), Convert.ToDouble(materialData[13], CultureInfo.InvariantCulture),
                                Convert.ToDouble(materialData[14], CultureInfo.InvariantCulture)));
            }
            return list;
        }