| | |
| |
|
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| | |
| |
|
| | """ |
| | Test module for FreeCAD material cards and APIs |
| | """ |
| |
|
| | import unittest |
| | import FreeCAD |
| | import Materials |
| | import sys |
| |
|
| | parseQuantity = FreeCAD.Units.parseQuantity |
| |
|
| | class MaterialTestCases(unittest.TestCase): |
| | """ |
| | Test class for FreeCAD material cards and APIs |
| | """ |
| |
|
| | def setUp(self): |
| | """ Setup function to initialize test data """ |
| | |
| | |
| | |
| | try: |
| | sys.stdout.reconfigure(errors='replace') |
| | except: |
| | |
| | pass |
| |
|
| | self.ModelManager = Materials.ModelManager() |
| | self.MaterialManager = Materials.MaterialManager() |
| | self.uuids = Materials.UUIDs() |
| |
|
| | def testMaterialManager(self): |
| | """ Ensure the MaterialManager has been initialized correctly """ |
| | self.assertIn("MaterialLibraries", dir(self.MaterialManager)) |
| | self.assertIn("Materials", dir(self.MaterialManager)) |
| |
|
| | def getQuantity(self, value): |
| | quantity = parseQuantity(value) |
| | quantity.Format = { "NumberFormat" : "g", |
| | "Precision" : 6 } |
| | return quantity |
| |
|
| | def testCalculiXSteel(self): |
| | """ |
| | Test a representative material card for CalculX Steel |
| | |
| | As a well populated material card, the CalculiX Steel material is a good subject |
| | for testing as many of the properties and API access methods as possible. |
| | """ |
| |
|
| | steel = self.MaterialManager.getMaterial("92589471-a6cb-4bbc-b748-d425a17dea7d") |
| | self.assertIsNotNone(steel) |
| | self.assertEqual(steel.Name, "CalculiX-Steel") |
| | self.assertEqual(steel.UUID, "92589471-a6cb-4bbc-b748-d425a17dea7d") |
| |
|
| | self.assertTrue(steel.hasPhysicalModel(self.uuids.Density)) |
| | self.assertTrue(steel.hasPhysicalModel(self.uuids.IsotropicLinearElastic)) |
| | self.assertTrue(steel.hasPhysicalModel(self.uuids.Thermal)) |
| | self.assertFalse(steel.hasPhysicalModel(self.uuids.LinearElastic)) |
| | self.assertTrue(steel.hasAppearanceModel(self.uuids.BasicRendering)) |
| |
|
| | self.assertTrue(steel.isPhysicalModelComplete(self.uuids.Density)) |
| | self.assertFalse(steel.isPhysicalModelComplete(self.uuids.IsotropicLinearElastic)) |
| | self.assertFalse(steel.isPhysicalModelComplete(self.uuids.Thermal)) |
| | self.assertFalse(steel.isPhysicalModelComplete(self.uuids.LinearElastic)) |
| | self.assertTrue(steel.isAppearanceModelComplete(self.uuids.BasicRendering)) |
| |
|
| | self.assertFalse(steel.hasLegacyProperties()) |
| |
|
| | self.assertTrue(steel.hasPhysicalProperty("Density")) |
| | self.assertTrue(steel.hasPhysicalProperty("BulkModulus")) |
| | self.assertTrue(steel.hasPhysicalProperty("PoissonRatio")) |
| | self.assertTrue(steel.hasPhysicalProperty("YoungsModulus")) |
| | self.assertTrue(steel.hasPhysicalProperty("ShearModulus")) |
| | self.assertTrue(steel.hasPhysicalProperty("SpecificHeat")) |
| | self.assertTrue(steel.hasPhysicalProperty("ThermalConductivity")) |
| | self.assertTrue(steel.hasPhysicalProperty("ThermalExpansionCoefficient")) |
| | self.assertTrue(steel.hasAppearanceProperty("AmbientColor")) |
| | self.assertTrue(steel.hasAppearanceProperty("DiffuseColor")) |
| | self.assertTrue(steel.hasAppearanceProperty("EmissiveColor")) |
| | self.assertTrue(steel.hasAppearanceProperty("Shininess")) |
| | self.assertTrue(steel.hasAppearanceProperty("SpecularColor")) |
| | self.assertTrue(steel.hasAppearanceProperty("Transparency")) |
| |
|
| | properties = steel.PhysicalProperties |
| | self.assertIn("Density", properties) |
| | self.assertNotIn("BulkModulus", properties) |
| | self.assertIn("PoissonRatio", properties) |
| | self.assertIn("YoungsModulus", properties) |
| | self.assertNotIn("ShearModulus", properties) |
| | self.assertIn("SpecificHeat", properties) |
| | self.assertIn("ThermalConductivity", properties) |
| | self.assertIn("ThermalExpansionCoefficient", properties) |
| | self.assertNotIn("AmbientColor", properties) |
| | self.assertNotIn("DiffuseColor", properties) |
| | self.assertNotIn("EmissiveColor", properties) |
| | self.assertNotIn("Shininess", properties) |
| | self.assertNotIn("SpecularColor", properties) |
| | self.assertNotIn("Transparency", properties) |
| |
|
| | properties = steel.AppearanceProperties |
| | self.assertNotIn("Density", properties) |
| | self.assertNotIn("BulkModulus", properties) |
| | self.assertNotIn("PoissonRatio", properties) |
| | self.assertNotIn("YoungsModulus", properties) |
| | self.assertNotIn("ShearModulus", properties) |
| | self.assertNotIn("SpecificHeat", properties) |
| | self.assertNotIn("ThermalConductivity", properties) |
| | self.assertNotIn("ThermalExpansionCoefficient", properties) |
| | self.assertIn("AmbientColor", properties) |
| | self.assertIn("DiffuseColor", properties) |
| | self.assertIn("EmissiveColor", properties) |
| | self.assertIn("Shininess", properties) |
| | self.assertIn("SpecularColor", properties) |
| | self.assertIn("Transparency", properties) |
| |
|
| | properties = steel.LegacyProperties |
| | self.assertEqual(len(properties), 0) |
| |
|
| | properties = steel.Properties |
| | self.assertIn("Density", properties) |
| | self.assertNotIn("BulkModulus", properties) |
| | self.assertIn("PoissonRatio", properties) |
| | self.assertIn("YoungsModulus", properties) |
| | self.assertNotIn("ShearModulus", properties) |
| | self.assertIn("SpecificHeat", properties) |
| | self.assertIn("ThermalConductivity", properties) |
| | self.assertIn("ThermalExpansionCoefficient", properties) |
| | self.assertIn("AmbientColor", properties) |
| | self.assertIn("DiffuseColor", properties) |
| | self.assertIn("EmissiveColor", properties) |
| | self.assertIn("Shininess", properties) |
| | self.assertIn("SpecularColor", properties) |
| | self.assertIn("Transparency", properties) |
| |
|
| | print("Density " + properties["Density"]) |
| | |
| | print("PoissonRatio " + properties["PoissonRatio"]) |
| | print("YoungsModulus " + properties["YoungsModulus"]) |
| | |
| | print("SpecificHeat " + properties["SpecificHeat"]) |
| | print("ThermalConductivity " + properties["ThermalConductivity"]) |
| | print("ThermalExpansionCoefficient " + properties["ThermalExpansionCoefficient"]) |
| | print("AmbientColor " + properties["AmbientColor"]) |
| | print("DiffuseColor " + properties["DiffuseColor"]) |
| | print("EmissiveColor " + properties["EmissiveColor"]) |
| | print("Shininess " + properties["Shininess"]) |
| | print("SpecularColor " + properties["SpecularColor"]) |
| | print("Transparency " + properties["Transparency"]) |
| |
|
| | self.assertTrue(len(properties["Density"]) > 0) |
| | |
| | self.assertTrue(len(properties["PoissonRatio"]) > 0) |
| | self.assertTrue(len(properties["YoungsModulus"]) > 0) |
| | |
| | self.assertTrue(len(properties["SpecificHeat"]) > 0) |
| | self.assertTrue(len(properties["ThermalConductivity"]) > 0) |
| | self.assertTrue(len(properties["ThermalExpansionCoefficient"]) > 0) |
| | self.assertTrue(len(properties["AmbientColor"]) > 0) |
| | self.assertTrue(len(properties["DiffuseColor"]) > 0) |
| | self.assertTrue(len(properties["EmissiveColor"]) > 0) |
| | self.assertTrue(len(properties["Shininess"]) > 0) |
| | self.assertTrue(len(properties["SpecularColor"]) > 0) |
| | self.assertTrue(len(properties["Transparency"]) > 0) |
| |
|
| | self.assertEqual(self.getQuantity(properties["Density"]).UserString, |
| | self.getQuantity("7900.00 kg/m^3").UserString) |
| | |
| | self.assertAlmostEqual(self.getQuantity(properties["PoissonRatio"]).Value, |
| | self.getQuantity("0.3").Value) |
| | self.assertEqual(self.getQuantity(properties["YoungsModulus"]).UserString, |
| | self.getQuantity("210.00 GPa").UserString) |
| | |
| | self.assertEqual(self.getQuantity(properties["SpecificHeat"]).UserString, |
| | self.getQuantity("590.00 J/kg/K").UserString) |
| | self.assertEqual(self.getQuantity(properties["ThermalConductivity"]).UserString, |
| | self.getQuantity("43.00 W/m/K").UserString) |
| | self.assertEqual(self.getQuantity(properties["ThermalExpansionCoefficient"]).UserString, |
| | self.getQuantity("12.00 µm/m/K").UserString) |
| | self.assertEqual(properties["AmbientColor"], "(0.0020, 0.0020, 0.0020, 1.0)") |
| | self.assertEqual(properties["DiffuseColor"], "(0.0000, 0.0000, 0.0000, 1.0)") |
| | self.assertEqual(properties["EmissiveColor"], "(0.0000, 0.0000, 0.0000, 1.0)") |
| | self.assertAlmostEqual(self.getQuantity(properties["Shininess"]).Value, self.getQuantity("0.06").Value) |
| | self.assertEqual(properties["SpecularColor"], "(0.9800, 0.9800, 0.9800, 1.0)") |
| | self.assertAlmostEqual(self.getQuantity(properties["Transparency"]).Value, |
| | self.getQuantity("0").Value) |
| |
|
| | print("Density " + steel.getPhysicalValue("Density").UserString) |
| | |
| | print("PoissonRatio %f" % steel.getPhysicalValue("PoissonRatio")) |
| | print("YoungsModulus " + steel.getPhysicalValue("YoungsModulus").UserString) |
| | |
| | print("SpecificHeat " + steel.getPhysicalValue("SpecificHeat").UserString) |
| | print("ThermalConductivity " + steel.getPhysicalValue("ThermalConductivity").UserString) |
| | print("ThermalExpansionCoefficient " + \ |
| | steel.getPhysicalValue("ThermalExpansionCoefficient").UserString) |
| | print("AmbientColor " + steel.getAppearanceValue("AmbientColor")) |
| | print("DiffuseColor " + steel.getAppearanceValue("DiffuseColor")) |
| | print("EmissiveColor " + steel.getAppearanceValue("EmissiveColor")) |
| | print("Shininess %f" % steel.getAppearanceValue("Shininess")) |
| | print("SpecularColor " + steel.getAppearanceValue("SpecularColor")) |
| | print("Transparency %f" % steel.getAppearanceValue("Transparency")) |
| |
|
| | self.assertAlmostEqual(steel.getPhysicalValue("Density").Value, 7.9e-06) |
| | self.assertAlmostEqual(steel.getPhysicalValue("PoissonRatio"), 0.3) |
| | self.assertAlmostEqual(steel.getPhysicalValue("YoungsModulus").Value, 210000000.0) |
| | self.assertAlmostEqual(steel.getPhysicalValue("SpecificHeat").Value, 590000000.0) |
| | self.assertAlmostEqual(steel.getPhysicalValue("ThermalConductivity").Value, 43000.0) |
| | self.assertAlmostEqual(steel.getPhysicalValue("ThermalExpansionCoefficient").Value, 1.2e-05) |
| | self.assertEqual(steel.getAppearanceValue("AmbientColor"), "(0.0020, 0.0020, 0.0020, 1.0)") |
| | self.assertEqual(steel.getAppearanceValue("DiffuseColor"), "(0.0000, 0.0000, 0.0000, 1.0)") |
| | self.assertEqual(steel.getAppearanceValue("EmissiveColor"), "(0.0000, 0.0000, 0.0000, 1.0)") |
| | self.assertAlmostEqual(steel.getAppearanceValue("Shininess"), 0.06) |
| | self.assertEqual(steel.getAppearanceValue("SpecularColor"), "(0.9800, 0.9800, 0.9800, 1.0)") |
| | self.assertAlmostEqual(steel.getAppearanceValue("Transparency"), 0.0) |
| |
|
| | self.assertEqual(steel.getPhysicalValue("Density").Format["NumberFormat"], "g") |
| | self.assertEqual(steel.getPhysicalValue("YoungsModulus").Format["NumberFormat"], "g") |
| | self.assertEqual(steel.getPhysicalValue("SpecificHeat").Format["NumberFormat"], "g") |
| | self.assertEqual(steel.getPhysicalValue("ThermalConductivity").Format["NumberFormat"], "g") |
| | self.assertEqual(steel.getPhysicalValue("ThermalExpansionCoefficient").Format["NumberFormat"], "g") |
| |
|
| | def testMaterialsWithModel(self): |
| | """ |
| | Test functions that return a list of models supporting specific material models |
| | """ |
| | |
| | materials = self.MaterialManager.materialsWithModel('f6f9e48c-b116-4e82-ad7f-3659a9219c50') |
| | materialsComplete = self.MaterialManager \ |
| | .materialsWithModelComplete('f6f9e48c-b116-4e82-ad7f-3659a9219c50') |
| |
|
| | self.assertTrue(len(materialsComplete) <= len(materials)) |
| |
|
| | materialsLinearElastic = self.MaterialManager \ |
| | .materialsWithModel('7b561d1d-fb9b-44f6-9da9-56a4f74d7536') |
| |
|
| | |
| | self.assertTrue(len(materialsLinearElastic) <= len(materials)) |
| | for mat in materialsLinearElastic: |
| | self.assertIn(mat, materials) |
| |
|
| | def testMaterialByPath(self): |
| | """ |
| | Test loading models by path |
| | |
| | Valid models may have different prefixes |
| | """ |
| | steel = self.MaterialManager \ |
| | .getMaterialByPath('Standard/Metal/Steel/CalculiX-Steel.FCMat', 'System') |
| | self.assertIsNotNone(steel) |
| | self.assertEqual(steel.Name, "CalculiX-Steel") |
| | self.assertEqual(steel.UUID, "92589471-a6cb-4bbc-b748-d425a17dea7d") |
| |
|
| | steel2 = self.MaterialManager \ |
| | .getMaterialByPath('/Standard/Metal/Steel/CalculiX-Steel.FCMat', 'System') |
| | self.assertIsNotNone(steel2) |
| | self.assertEqual(steel2.Name, "CalculiX-Steel") |
| | self.assertEqual(steel2.UUID, "92589471-a6cb-4bbc-b748-d425a17dea7d") |
| |
|
| | steel3 = self.MaterialManager \ |
| | .getMaterialByPath('/System/Standard/Metal/Steel/CalculiX-Steel.FCMat', 'System') |
| | self.assertIsNotNone(steel3) |
| | self.assertEqual(steel3.Name, "CalculiX-Steel") |
| | self.assertEqual(steel3.UUID, "92589471-a6cb-4bbc-b748-d425a17dea7d") |
| |
|
| | def testLists(self): |
| | """ |
| | Test API access to lists |
| | """ |
| |
|
| | mat = self.MaterialManager.getMaterial("c6c64159-19c1-40b5-859c-10561f20f979") |
| | self.assertIsNotNone(mat) |
| | self.assertEqual(mat.Name, "Test Material") |
| | self.assertEqual(mat.UUID, "c6c64159-19c1-40b5-859c-10561f20f979") |
| |
|
| | self.assertTrue(mat.hasPhysicalModel(self.uuids.TestModel)) |
| | self.assertFalse(mat.isPhysicalModelComplete(self.uuids.TestModel)) |
| |
|
| | self.assertTrue(mat.hasPhysicalProperty("TestList")) |
| |
|
| | testList = mat.getPhysicalValue("TestList") |
| | self.assertEqual(len(testList), 6) |
| | self.assertEqual(testList[0], |
| | "Now is the time for all good men to come to the aid of the party") |
| | self.assertEqual(testList[1], "The quick brown fox jumps over the lazy dogs back") |
| | self.assertEqual(testList[2], "Lore Ipsum") |
| | self.assertEqual(testList[3], "Single quote '") |
| | self.assertEqual(testList[4], "Double quote \"") |
| | self.assertEqual(testList[5], "Backslash \\") |
| |
|
| | properties = mat.Properties |
| | self.assertIn("TestList", properties) |
| | self.assertTrue(len(properties["TestList"]) == 0) |
| |
|
| | def test2DArray(self): |
| | """ |
| | Test API access to 2D arrays |
| | """ |
| |
|
| | mat = self.MaterialManager.getMaterial("c6c64159-19c1-40b5-859c-10561f20f979") |
| | self.assertIsNotNone(mat) |
| | self.assertEqual(mat.Name, "Test Material") |
| | self.assertEqual(mat.UUID, "c6c64159-19c1-40b5-859c-10561f20f979") |
| |
|
| | self.assertTrue(mat.hasPhysicalModel(self.uuids.TestModel)) |
| | self.assertFalse(mat.isPhysicalModelComplete(self.uuids.TestModel)) |
| |
|
| | self.assertTrue(mat.hasPhysicalProperty("TestArray2D")) |
| |
|
| | array = mat.getPhysicalValue("TestArray2D") |
| | self.assertIsNotNone(array) |
| | self.assertEqual(array.Rows, 3) |
| | self.assertEqual(array.Columns, 2) |
| |
|
| | arrayData = array.Array |
| | self.assertIsNotNone(arrayData) |
| | self.assertEqual(len(arrayData), 3) |
| | self.assertEqual(len(arrayData[0]), 2) |
| | self.assertEqual(len(arrayData[1]), 2) |
| | self.assertEqual(len(arrayData[2]), 2) |
| |
|
| | self.assertEqual(arrayData[0][0].Format["NumberFormat"], "g") |
| | self.assertEqual(arrayData[0][1].Format["NumberFormat"], "g") |
| | self.assertEqual(arrayData[1][0].Format["NumberFormat"], "g") |
| | self.assertEqual(arrayData[1][1].Format["NumberFormat"], "g") |
| | self.assertEqual(arrayData[2][0].Format["NumberFormat"], "g") |
| | self.assertEqual(arrayData[2][1].Format["NumberFormat"], "g") |
| |
|
| | self.assertEqual(arrayData[0][0].UserString, self.getQuantity("10.00 C").UserString) |
| | self.assertEqual(arrayData[0][1].UserString, self.getQuantity("10.00 kg/m^3").UserString) |
| | self.assertEqual(arrayData[1][0].UserString, self.getQuantity("20.00 C").UserString) |
| | self.assertEqual(arrayData[1][1].UserString, self.getQuantity("20.00 kg/m^3").UserString) |
| | self.assertEqual(arrayData[2][0].UserString, self.getQuantity("30.00 C").UserString) |
| | self.assertEqual(arrayData[2][1].UserString, self.getQuantity("30.00 kg/m^3").UserString) |
| |
|
| | self.assertAlmostEqual(arrayData[0][0].Value, 10.0) |
| | self.assertAlmostEqual(arrayData[0][1].Value, 1e-8) |
| | self.assertAlmostEqual(arrayData[1][0].Value, 20.0) |
| | self.assertAlmostEqual(arrayData[1][1].Value, 2e-8) |
| | self.assertAlmostEqual(arrayData[2][0].Value, 30.0) |
| | self.assertAlmostEqual(arrayData[2][1].Value, 3e-8) |
| |
|
| | self.assertAlmostEqual(arrayData[-1][0].Value, 30.0) |
| | with self.assertRaises(IndexError): |
| | self.assertAlmostEqual(arrayData[3][0].Value, 10.0) |
| | self.assertAlmostEqual(arrayData[0][-1].Value, 1e-8) |
| | with self.assertRaises(IndexError): |
| | self.assertAlmostEqual(arrayData[0][2].Value, 10.0) |
| |
|
| | self.assertEqual(array.getValue(0,0).Format["NumberFormat"], "g") |
| | self.assertEqual(array.getValue(0,1).Format["NumberFormat"], "g") |
| | self.assertEqual(array.getValue(1,0).Format["NumberFormat"], "g") |
| | self.assertEqual(array.getValue(1,1).Format["NumberFormat"], "g") |
| | self.assertEqual(array.getValue(2,0).Format["NumberFormat"], "g") |
| | self.assertEqual(array.getValue(2,1).Format["NumberFormat"], "g") |
| |
|
| | self.assertEqual(array.getValue(0,0).UserString, self.getQuantity("10.00 C").UserString) |
| | self.assertEqual(array.getValue(0,1).UserString, self.getQuantity("10.00 kg/m^3").UserString) |
| | self.assertEqual(array.getValue(1,0).UserString, self.getQuantity("20.00 C").UserString) |
| | self.assertEqual(array.getValue(1,1).UserString, self.getQuantity("20.00 kg/m^3").UserString) |
| | self.assertEqual(array.getValue(2,0).UserString, self.getQuantity("30.00 C").UserString) |
| | self.assertEqual(array.getValue(2,1).UserString, self.getQuantity("30.00 kg/m^3").UserString) |
| |
|
| | self.assertAlmostEqual(array.getValue(0,0).Value, 10.0) |
| | self.assertAlmostEqual(array.getValue(0,1).Value, 1e-8) |
| | self.assertAlmostEqual(array.getValue(1,0).Value, 20.0) |
| | self.assertAlmostEqual(array.getValue(1,1).Value, 2e-8) |
| | self.assertAlmostEqual(array.getValue(2,0).Value, 30.0) |
| | self.assertAlmostEqual(array.getValue(2,1).Value, 3e-8) |
| |
|
| | with self.assertRaises(IndexError): |
| | self.assertAlmostEqual(array.getValue(-1,0).Value, 10.0) |
| | with self.assertRaises(IndexError): |
| | self.assertAlmostEqual(array.getValue(3,0).Value, 10.0) |
| | with self.assertRaises(IndexError): |
| | self.assertAlmostEqual(array.getValue(0,-1).Value, 10.0) |
| | with self.assertRaises(IndexError): |
| | self.assertAlmostEqual(array.getValue(0,2).Value, 10.0) |
| |
|
| | for rowIndex in range(0, array.Rows): |
| | row = array.getRow(rowIndex) |
| | self.assertIsNotNone(row) |
| | self.assertEqual(len(row), 2) |
| |
|
| | with self.assertRaises(IndexError): |
| | row = array.getRow(-1) |
| | with self.assertRaises(IndexError): |
| | row = array.getRow(3) |
| |
|
| | def test3DArray(self): |
| | """ |
| | Test API access to 3D arrays |
| | """ |
| |
|
| | mat = self.MaterialManager.getMaterial("c6c64159-19c1-40b5-859c-10561f20f979") |
| | self.assertIsNotNone(mat) |
| | self.assertEqual(mat.Name, "Test Material") |
| | self.assertEqual(mat.UUID, "c6c64159-19c1-40b5-859c-10561f20f979") |
| |
|
| | self.assertTrue(mat.hasPhysicalModel(self.uuids.TestModel)) |
| | self.assertFalse(mat.isPhysicalModelComplete(self.uuids.TestModel)) |
| |
|
| | self.assertTrue(mat.hasPhysicalProperty("TestArray3D")) |
| |
|
| | array = mat.getPhysicalValue("TestArray3D") |
| | self.assertIsNotNone(array) |
| | self.assertEqual(array.Depth, 3) |
| | self.assertEqual(array.Columns, 2) |
| | self.assertEqual(array.getRows(), 2) |
| | self.assertEqual(array.getRows(0), 2) |
| | self.assertEqual(array.getRows(1), 0) |
| | self.assertEqual(array.getRows(2), 3) |
| |
|
| | arrayData = array.Array |
| | self.assertIsNotNone(arrayData) |
| | self.assertEqual(len(arrayData), 3) |
| | self.assertEqual(len(arrayData[0]), 2) |
| | self.assertEqual(len(arrayData[1]), 0) |
| | self.assertEqual(len(arrayData[2]), 3) |
| |
|
| | self.assertEqual(arrayData[0][0][0].Format["NumberFormat"], "g") |
| | self.assertEqual(arrayData[0][0][1].Format["NumberFormat"], "g") |
| | self.assertEqual(arrayData[0][1][0].Format["NumberFormat"], "g") |
| | self.assertEqual(arrayData[0][1][1].Format["NumberFormat"], "g") |
| | self.assertEqual(arrayData[2][0][0].Format["NumberFormat"], "g") |
| | self.assertEqual(arrayData[2][0][1].Format["NumberFormat"], "g") |
| | self.assertEqual(arrayData[2][1][0].Format["NumberFormat"], "g") |
| | self.assertEqual(arrayData[2][1][1].Format["NumberFormat"], "g") |
| | self.assertEqual(arrayData[2][2][0].Format["NumberFormat"], "g") |
| | self.assertEqual(arrayData[2][2][1].Format["NumberFormat"], "g") |
| |
|
| | self.assertEqual(arrayData[0][0][0].UserString, self.getQuantity("11.00 Pa").UserString) |
| | self.assertEqual(arrayData[0][0][1].UserString, self.getQuantity("12.00 Pa").UserString) |
| | self.assertEqual(arrayData[0][1][0].UserString, self.getQuantity("21.00 Pa").UserString) |
| | self.assertEqual(arrayData[0][1][1].UserString, self.getQuantity("22.00 Pa").UserString) |
| | self.assertEqual(arrayData[2][0][0].UserString, self.getQuantity("10.00 Pa").UserString) |
| | self.assertEqual(arrayData[2][0][1].UserString, self.getQuantity("11.00 Pa").UserString) |
| | self.assertEqual(arrayData[2][1][0].UserString, self.getQuantity("20.00 Pa").UserString) |
| | self.assertEqual(arrayData[2][1][1].UserString, self.getQuantity("21.00 Pa").UserString) |
| | self.assertEqual(arrayData[2][2][0].UserString, self.getQuantity("30.00 Pa").UserString) |
| | self.assertEqual(arrayData[2][2][1].UserString, self.getQuantity("31.00 Pa").UserString) |
| |
|
| | self.assertEqual(array.getDepthValue(0).UserString, self.getQuantity("10.00 C").UserString) |
| | self.assertEqual(array.getDepthValue(1).UserString, self.getQuantity("20.00 C").UserString) |
| | self.assertEqual(array.getDepthValue(2).UserString, self.getQuantity("30.00 C").UserString) |
| |
|
| | self.assertEqual(arrayData[0][0][-1].UserString, self.getQuantity("12.00 Pa").UserString) |
| | with self.assertRaises(IndexError): |
| | self.assertEqual(arrayData[0][0][2].UserString, self.getQuantity("11.00 Pa").UserString) |
| | self.assertEqual(arrayData[0][-1][0].UserString, self.getQuantity("21.00 Pa").UserString) |
| | with self.assertRaises(IndexError): |
| | self.assertEqual(arrayData[0][2][0].UserString, self.getQuantity("11.00 Pa").UserString) |
| | with self.assertRaises(IndexError): |
| | self.assertEqual(arrayData[1][0][0].UserString, self.getQuantity("11.00 Pa").UserString) |
| | self.assertEqual(arrayData[-1][0][0].UserString, self.getQuantity("10.00 Pa").UserString) |
| | with self.assertRaises(IndexError): |
| | self.assertEqual(arrayData[3][0][0].UserString, self.getQuantity("11.00 Pa").UserString) |
| |
|
| | with self.assertRaises(IndexError): |
| | self.assertEqual(array.getDepthValue(-1).UserString, |
| | self.getQuantity("10.00 C").UserString) |
| | with self.assertRaises(IndexError): |
| | self.assertEqual(array.getDepthValue(3).UserString, |
| | self.getQuantity("10.00 C").UserString) |
| |
|
| | self.assertEqual(array.getValue(0,0,0).Format["NumberFormat"], "g") |
| | self.assertEqual(array.getValue(0,0,1).Format["NumberFormat"], "g") |
| | self.assertEqual(array.getValue(0,1,0).Format["NumberFormat"], "g") |
| | self.assertEqual(array.getValue(0,1,1).Format["NumberFormat"], "g") |
| | self.assertEqual(array.getValue(2,0,0).Format["NumberFormat"], "g") |
| | self.assertEqual(array.getValue(2,0,1).Format["NumberFormat"], "g") |
| | self.assertEqual(array.getValue(2,1,0).Format["NumberFormat"], "g") |
| | self.assertEqual(array.getValue(2,1,1).Format["NumberFormat"], "g") |
| | self.assertEqual(array.getValue(2,2,0).Format["NumberFormat"], "g") |
| | self.assertEqual(array.getValue(2,2,1).Format["NumberFormat"], "g") |
| |
|
| | self.assertEqual(array.getValue(0,0,0).UserString, self.getQuantity("11.00 Pa").UserString) |
| | self.assertEqual(array.getValue(0,0,1).UserString, self.getQuantity("12.00 Pa").UserString) |
| | self.assertEqual(array.getValue(0,1,0).UserString, self.getQuantity("21.00 Pa").UserString) |
| | self.assertEqual(array.getValue(0,1,1).UserString, self.getQuantity("22.00 Pa").UserString) |
| | self.assertEqual(array.getValue(2,0,0).UserString, self.getQuantity("10.00 Pa").UserString) |
| | self.assertEqual(array.getValue(2,0,1).UserString, self.getQuantity("11.00 Pa").UserString) |
| | self.assertEqual(array.getValue(2,1,0).UserString, self.getQuantity("20.00 Pa").UserString) |
| | self.assertEqual(array.getValue(2,1,1).UserString, self.getQuantity("21.00 Pa").UserString) |
| | self.assertEqual(array.getValue(2,2,0).UserString, self.getQuantity("30.00 Pa").UserString) |
| | self.assertEqual(array.getValue(2,2,1).UserString, self.getQuantity("31.00 Pa").UserString) |
| |
|
| | with self.assertRaises(IndexError): |
| | self.assertEqual(array.getValue(0,0,-1).UserString, |
| | self.getQuantity("11.00 Pa").UserString) |
| | with self.assertRaises(IndexError): |
| | self.assertEqual(array.getValue(0,0,2).UserString, |
| | self.getQuantity("11.00 Pa").UserString) |
| | with self.assertRaises(IndexError): |
| | self.assertEqual(array.getValue(0,-1,0).UserString, |
| | self.getQuantity("11.00 Pa").UserString) |
| | with self.assertRaises(IndexError): |
| | self.assertEqual(array.getValue(0,2,0).UserString, |
| | self.getQuantity("11.00 Pa").UserString) |
| | with self.assertRaises(IndexError): |
| | self.assertEqual(array.getValue(1,0,0).UserString, |
| | self.getQuantity("11.00 Pa").UserString) |
| | with self.assertRaises(IndexError): |
| | self.assertEqual(array.getValue(-1,0,0).UserString, |
| | self.getQuantity("11.00 Pa").UserString) |
| | with self.assertRaises(IndexError): |
| | self.assertEqual(array.getValue(3,0,0).UserString, |
| | self.getQuantity("11.00 Pa").UserString) |
| |
|