def test_yaego(self): # ---------------- CC ----------------- with self.subTest("CC0402JRNPO9BN330"): part = capacitors_partname_decoder.resolve("CC0402JRNPO9BN330") self.assertIsNotNone(part) component = Capacitor(capacitor_type=Capacitor.Type.MLCC, manufacturer="Yageo", partnumber="CC0402JRNPO9BN330", working_temperature_range=TemperatureRange('-55', '125'), series="CC", capacitance="33pF", voltage="50V", tolerance={'min': "-5%", 'max': '+5%'}, dielectric_type="NP0", case="0402", note="Paper/PE taping reel; Reel 7 inch") self.assertEqual(component, part) with self.subTest("CC1206MKX7RDBB102"): part = capacitors_partname_decoder.resolve("CC1206MKX7RDBB102") self.assertIsNotNone(part) component = Capacitor(capacitor_type=Capacitor.Type.MLCC, manufacturer="Yageo", partnumber="CC1206MKX7RDBB102", working_temperature_range=TemperatureRange('-55', '125'), series="CC", capacitance="1nF", voltage="2000V", tolerance={'min': "-20%", 'max': '+20%'}, dielectric_type="X7R", case="1206", note="Blister taping reel; Reel 7 inch") self.assertEqual(component, part)
def test_aishi(self): part = capacitors_partname_decoder.resolve("EWH1EM221F11OT") self.assertIsNotNone(part) component = Capacitor(capacitor_type=Capacitor.Type.MLCC, manufacturer="Aishi", partnumber="EWH1EM221F11OT", working_temperature_range=TemperatureRange('-40', '105'), series="WH", capacitance="220uF", voltage="25V", tolerance={'min': "-20%", 'max': '+20%'}, dielectric_type="Aluminium oxide", case="8x11", note="Miniature aluminium electrolytic capacitors") self.assertEqual(component, part) part = capacitors_partname_decoder.resolve("EWH1KM2R2D11OT") self.assertIsNotNone(part) component = Capacitor(capacitor_type=Capacitor.Type.MLCC, manufacturer="Aishi", partnumber="EWH1KM2R2D11OT", working_temperature_range=TemperatureRange('-40', '105'), series="WH", capacitance="2.2uF", voltage="100V", tolerance={'min': "-20%", 'max': '+20%'}, dielectric_type="Aluminium oxide", case="5x11", note="Miniature aluminium electrolytic capacitors") self.assertEqual(component, part)
def test_samwha(self): part = capacitors_partname_decoder.resolve("CA1E337M10010VR") component = Capacitor(capacitor_type=Capacitor.Type.ElectrolyticAluminium, manufacturer="Samwha", partnumber="CA1E337M10010VR", working_temperature_range=TemperatureRange('-55', '105'), series="CA", capacitance="330uF", voltage="25V", tolerance={'min': "-20%", 'max': '+20%'}, dielectric_type="Aluminium oxide", case="10mm", note="Chip type, Long Life Series") self.assertEqual(component, part) part = capacitors_partname_decoder.resolve("SD1J475M05011BB") component = Capacitor(capacitor_type=Capacitor.Type.ElectrolyticAluminium, manufacturer="Samwha", partnumber="SD1J475M05011BB", working_temperature_range=TemperatureRange('-40', '85'), series="SD", capacitance="4.7uF", voltage="63V", tolerance={'min': "-20%", 'max': '+20%'}, dielectric_type="Aluminium oxide", case="5mm", note="Standard, For General Purposes Series") self.assertEqual(component, part)
def test_taiyo_yuden(self): part = capacitors_partname_decoder.resolve("EMK212B7475KG-T") component = Capacitor(capacitor_type=Capacitor.Type.MLCC, manufacturer="Taiyo Yuden", partnumber="EMK212B7475KG-T", working_temperature_range=TemperatureRange('-55', '125'), series="M", capacitance="4.7uF", voltage="16V", tolerance={'min': "-10%", 'max': '+10%'}, dielectric_type="X7R", case="0805", note="Multilayer ceramic capacitor") self.assertEqual(component, part) part = capacitors_partname_decoder.resolve("HMK325B7225KM-T") component = Capacitor(capacitor_type=Capacitor.Type.MLCC, manufacturer="Taiyo Yuden", partnumber="HMK325B7225KM-T", working_temperature_range=TemperatureRange('-55', '125'), series="M", capacitance="2.2uF", voltage="100V", tolerance={'min': "-10%", 'max': '+10%'}, dielectric_type="X7R", case="1210", note="Multilayer ceramic capacitor") self.assertEqual(component, part)
def test_parameters_equal_decoded_parameters_from_partname(self): for capacitor in self.capacitors: if len(capacitor['manufacturers']): manufacturer_part_number = capacitor["manufacturers"][0][ 'partNumber'] if len(manufacturer_part_number) == 0: continue with self.subTest(capacitor['name']): parameters = capacitor["parameters"] tolerance = capacitanceTolerance_from_partkeepr_json( capacitor["parameters"]["Tolerance"]) decoded_parameters = capacitorPartname.resolve( manufacturer_part_number) self.assertIsNotNone(decoded_parameters) self.assertEqual( decoded_parameters.capacitance, capacitance_from_partkeepr_parameters(parameters)) self.assertEqual( decoded_parameters.voltage.replace("DC", ""), parameters["Voltage"]["value"] + "V") self.assertEqual( decoded_parameters.dielectric_type, parameters["Dielectric Type"]["value"] if "Dielectric Type" in parameters else None) self.assertEqual(decoded_parameters.tolerance, tolerance)
def resolve(partname): part = capacitors_partname_decoder.resolve(partname) if part is not None: return part part = resistors_partname_decoder.resolve(partname) if part is not None: return part
def test_description_format(self): for capacitor in self.capacitors: with self.subTest(capacitor['name']): if len(capacitor['manufacturers']): manufacturer_part_number = capacitor["manufacturers"][0][ 'partNumber'] cap = capacitorPartname.resolve(manufacturer_part_number) else: cap = capacitor_from_partkeepr_json(capacitor) self.assertIsNotNone(cap) self.assertEqual(cap.get_description(), capacitor["description"])
def test_JRG(self): part = capacitors_partname_decoder.resolve('JRG0J331M02500630115000B') component = Capacitor(capacitor_type=Capacitor.Type.MLCC, manufacturer="JB Capacitors Company", partnumber="JRG0J331M02500630115000B", working_temperature_range=TemperatureRange('-40', '105'), series="JRG", capacitance="330uF", voltage="6.3V", tolerance={'min': "-20%", 'max': '+20%'}, dielectric_type="Aluminium oxide", case='6.3x11.5mm', note="Radial Aluminum Electrolytic Capacitor, Pitch=2.5, Lead length=Standard, Packing: Bulk") self.assertEqual(component, part)
def test_nichicon(self): part = capacitors_partname_decoder.resolve("UKA1H220MDD") component = Capacitor(capacitor_type=Capacitor.Type.ElectrolyticAluminium, manufacturer="Nichicon", partnumber="UKA1H220MDD", working_temperature_range=TemperatureRange('-55', '105'), series="KA", capacitance="22uF", voltage="50V", tolerance={'min': "-20%", 'max': '+20%'}, dielectric_type="Aluminium oxide", case="5", note="For High Grade Audio Equipment, Wide Temperature Range") self.assertEqual(component, part)
def test_avx(self): part = capacitors_partname_decoder.resolve("04023C104KAT2A") component = Capacitor(capacitor_type=Capacitor.Type.ElectrolyticAluminium, manufacturer="AVX", partnumber="04023C104KAT2A", working_temperature_range=TemperatureRange('-55', '125'), series="", capacitance="100nF", voltage="25V", tolerance={'min': "-10%", 'max': '+10%'}, dielectric_type="X7R", case="0402", note="Standard product") self.assertEqual(component, part)
def test_samsung_CL(self): part = capacitors_partname_decoder.resolve('CL05B222KB5NNNC') component = Capacitor(capacitor_type=Capacitor.Type.ElectrolyticAluminium, manufacturer="Samsung", partnumber="CL05B222KB5NNNC", working_temperature_range=TemperatureRange('-55', '125'), series="CL", capacitance="2.2nF", voltage="50V", tolerance={'min': "-10%", 'max': '+10%'}, dielectric_type="X7R", case="0402", note="Normal") self.assertEqual(component, part)
def test_vishay_VJ(self): part = capacitors_partname_decoder.resolve('VJ0603D820JXCAJ') component = Capacitor(capacitor_type=Capacitor.Type.MLCC, manufacturer="Vishay", partnumber="VJ0603D820JXCAJ", working_temperature_range=TemperatureRange('-55', '125'), series="VJ", capacitance="82pF", voltage="200V", tolerance={'min': "-5%", 'max': '+5%'}, dielectric_type="C0G", case="0603", note="Ni barrier100 % tin platematte finish") self.assertEqual(component, part)
def test_GCM(self): part = capacitors_partname_decoder.resolve('GCM155R71C104KA55D') component = Capacitor( capacitor_type=Capacitor.Type.MLCC, manufacturer="Murata Manufacturing", partnumber="GCM155R71C104KA55D", working_temperature_range=TemperatureRange('-55', '125'), series="GCM", capacitance="100nF", voltage="16V", tolerance={ 'min': "-10%", 'max': '+10%' }, dielectric_type="X7R", case="0402", note="Chip Multilayer Ceramic Capacitors for Automotive") self.assertEqual(component, part) part = capacitors_partname_decoder.resolve('GCM21BR71E105KA56L') component = Capacitor( capacitor_type=Capacitor.Type.MLCC, manufacturer="Murata Manufacturing", partnumber="GCM21BR71E105KA56L", working_temperature_range=TemperatureRange('-55', '125'), series="GCM", capacitance="1uF", voltage="25V", tolerance={ 'min': "-10%", 'max': '+10%' }, dielectric_type="X7R", case="0805", note="Chip Multilayer Ceramic Capacitors for Automotive") self.assertEqual(component, part)
def test_kemet(self): with self.subTest("C0603C393K5RAC"): part = capacitors_partname_decoder.resolve("C0603C393K5RAC") self.assertIsNotNone(part) component = Capacitor(capacitor_type=Capacitor.Type.MLCC, manufacturer="Kemet", partnumber="C0603C393K5RAC", working_temperature_range=TemperatureRange('-55', '125'), series="C", capacitance="39nF", voltage="50V", tolerance={'min': "-10%", 'max': '+10%'}, dielectric_type="X7R", case="0603", note="Standard") self.assertEqual(component, part)
def autofill_capacitors_description(self): for capacitor in self.capacitors: if capacitor['partkeepr_id'] in skip_autofill.autofill_description: print("Skipping description update of part: ", capacitor['partkeepr_id'], " found in skip list.") continue if len(capacitor['manufacturers']): manufacturer_part_number = capacitor["manufacturers"][0][ 'partNumber'] capacitor_from_partname = capacitors_partname_decoder.resolve( manufacturer_part_number) else: capacitor_from_partname = None capacitor_from_parameters = capacitor_from_partkeepr_json( capacitor) if capacitor_from_partname is not None: if capacitor_from_parameters.partial_compare( capacitor_from_partname, debug=True): if capacitor[ "description"] != capacitor_from_partname.get_description( ): print("Updating description, from:", capacitor["description"], ", to:", capacitor_from_parameters.get_description()) self.partkeepr.edit_part_description( capacitor["partkeepr_id"], capacitor_from_partname.get_description()) else: print( "Unable to update description, part parameters are different than parameters from part name" ) print("\tFrom part name:", capacitor_from_partname) print("\tFrom parameters:", capacitor_from_parameters) else: if capacitor[ "description"] != capacitor_from_parameters.get_description( ): print("Updating description, from:", capacitor["description"], ", to:", capacitor_from_parameters.get_description()) self.partkeepr.edit_part_description( capacitor["partkeepr_id"], capacitor_from_parameters.get_description())
def test_0805(self): part = capacitors_partname_decoder.resolve('0805B472K500NT') component = Capacitor( capacitor_type=Capacitor.Type.MLCC, manufacturer="Fenghua Advanced Technology", partnumber="0805B472K500NT", working_temperature_range=TemperatureRange('-55', '125'), series=None, capacitance="4.7nF", voltage="50V", tolerance={ 'min': "-10%", 'max': '+10%' }, dielectric_type="X7R", case="0805", note= "Termination: Nickel Barrier Termination, Packing: Taping Package") self.assertEqual(component, part)
def test_GCD(self): part = capacitors_partname_decoder.resolve('GCD188R71H153KA01') component = Capacitor( capacitor_type=Capacitor.Type.MLCC, manufacturer="Murata Manufacturing", partnumber="GCD188R71H153KA01", working_temperature_range=TemperatureRange('-55', '125'), series="GCD", capacitance="15nF", voltage="50V", tolerance={ 'min': "-10%", 'max': '+10%' }, dielectric_type="X7R", case="0603", note="MLSC Design Chip Multilayer Ceramic Capacitors for Automotive" ) self.assertEqual(component, part)
def test_KCM(self): part = capacitors_partname_decoder.resolve('KCM55LR71H106KH01') component = Capacitor( capacitor_type=Capacitor.Type.MLCC, manufacturer="Murata Manufacturing", partnumber="KCM55LR71H106KH01", working_temperature_range=TemperatureRange('-55', '125'), series="KCM", capacitance="10uF", voltage="50V", tolerance={ 'min': "-10%", 'max': '+10%' }, dielectric_type="X7R", case="2220", note= "Metal Terminal Type Multilayer Ceramic Capacitors for Automotive") self.assertEqual(component, part)
def test_KCA(self): part = capacitors_partname_decoder.resolve('KCA55L7UMF102KH01') component = Capacitor( capacitor_type=Capacitor.Type.MLCC, manufacturer="Murata Manufacturing", partnumber="KCA55L7UMF102KH01", working_temperature_range=TemperatureRange('-55', '125'), series="KCA", capacitance="1nF", voltage="250VAC", tolerance={ 'min': "-10%", 'max': '+10%' }, dielectric_type="U2J", case="2220", note= "Safety Standard Certified Metal Terminal Type Multilayer Ceramic Capacitors for Automotive" ) self.assertEqual(component, part)
def test_GCJ(self): part = capacitors_partname_decoder.resolve('GCJ188R92A152KA01') component = Capacitor( capacitor_type=Capacitor.Type.MLCC, manufacturer="Murata Manufacturing", partnumber="GCJ188R92A152KA01", working_temperature_range=TemperatureRange('-55', '150'), series="GCJ", capacitance="1.5nF", voltage="100V", tolerance={ 'min': "-10%", 'max': '+10%' }, dielectric_type="X8R", case="0603", note= "Soft Termination Chip Multilayer Ceramic Capacitors for Automotive" ) self.assertEqual(component, part)
def test_GC3(self): part = capacitors_partname_decoder.resolve('GC331AD72W153KX01') component = Capacitor( capacitor_type=Capacitor.Type.MLCC, manufacturer="Murata Manufacturing", partnumber="GC331AD72W153KX01", working_temperature_range=TemperatureRange('-55', '125'), series="GC3", capacitance="15nF", voltage="450V", tolerance={ 'min': "-10%", 'max': '+10%' }, dielectric_type="X7T", case="1206", note= "High Effective Capacitance & High Ripple Current Chip Multilayer Ceramic Capacitors for Automotive" ) self.assertEqual(component, part)
def test_GRT(self): part = capacitors_partname_decoder.resolve('GRT0335C1E120JA02') component = Capacitor( capacitor_type=Capacitor.Type.MLCC, manufacturer="Murata Manufacturing", partnumber="GRT0335C1E120JA02", working_temperature_range=TemperatureRange('-55', '125'), series="GRT", capacitance="12pF", voltage="25V", tolerance={ 'min': "-5%", 'max': '+5%' }, dielectric_type="C0G", case="0201", note= "AEC-Q200 Compliant Chip Multilayer Ceramic Capacitors for Infotainment" ) self.assertEqual(component, part)
def test_TZ(self): with self.subTest("TZB"): part = capacitors_partname_decoder.resolve('TZB4P400AB10R00') self.assertIsNotNone(part) component = Capacitor( capacitor_type=Capacitor.Type.CeramicTrimmer, manufacturer="Murata Manufacturing", partnumber="TZB4P400AB10R00", working_temperature_range=TemperatureRange('-25', '85'), series="TZB4", capacitance=CapacitanceRange("8.5pF", "40pF"), voltage="100V", tolerance={ 'min': "-0%", 'max': '+50%' }, dielectric_type=None, case=None, note="4mm Size SMD Type") self.assertEqual(component, part)
def test_GCG(self): part = capacitors_partname_decoder.resolve('GCG1555G1H121JA01') component = Capacitor( capacitor_type=Capacitor.Type.MLCC, manufacturer="Murata Manufacturing", partnumber="GCG1555G1H121JA01", working_temperature_range=TemperatureRange('-55', '150'), series="GCG", capacitance="120pF", voltage="50V", tolerance={ 'min': "-5%", 'max': '+5%' }, dielectric_type="X8G", case="0402", note= "AgPd Termination Conductive Glue Mounting Chip Multilayer Ceramic Capacitors for Automotive" ) self.assertEqual(component, part)
def test_KC3(self): part = capacitors_partname_decoder.resolve('KC355LD72J154KH01') component = Capacitor( capacitor_type=Capacitor.Type.MLCC, manufacturer="Murata Manufacturing", partnumber="KC355LD72J154KH01", working_temperature_range=TemperatureRange('-55', '125'), series="KC3", capacitance="150nF", voltage="630V", tolerance={ 'min': "-10%", 'max': '+10%' }, dielectric_type="X7T", case="2220", note= "High Effective Capacitance & High Allowable Ripple Current Metal Terminal Type Multilayer Ceramic Capacitors for Automotive" ) self.assertEqual(component, part)
def test_jamicon(self): # ---------------- TK ----------------- with self.subTest("TKP102M1EG20M"): part = capacitors_partname_decoder.resolve("TKP102M1EG20M") self.assertIsNotNone(part) component = Capacitor(capacitor_type=Capacitor.Type.MLCC, manufacturer="Jamicon", partnumber="TKP102M1EG20M", working_temperature_range=TemperatureRange('-55', '105'), series="TK", capacitance="1000uF", voltage="25V", tolerance={'min': "-20%", 'max': '+20%'}, dielectric_type="Aluminium oxide", case="8x20", note="Wide temperature range") self.assertEqual(component, part) with self.subTest("TKR221M1EFBBM"): part = capacitors_partname_decoder.resolve("TKR221M1EFBBM") self.assertIsNotNone(part) component = Capacitor(capacitor_type=Capacitor.Type.MLCC, manufacturer="Jamicon", partnumber="TKR221M1EFBBM", working_temperature_range=TemperatureRange('-55', '105'), series="TK", capacitance="220uF", voltage="25V", tolerance={'min': "-20%", 'max': '+20%'}, dielectric_type="Aluminium oxide", case="7.3x11.5", note="Wide temperature range") self.assertEqual(component, part) with self.subTest("TKR100M2AE11M"): part = capacitors_partname_decoder.resolve("TKR100M2AE11M") self.assertIsNotNone(part) component = Capacitor(capacitor_type=Capacitor.Type.MLCC, manufacturer="Jamicon", partnumber="TKR100M2AE11M", working_temperature_range=TemperatureRange('-55', '105'), series="TK", capacitance="10uF", voltage="100V", tolerance={'min': "-20%", 'max': '+20%'}, dielectric_type="Aluminium oxide", case="6.3x11", note="Wide temperature range") self.assertEqual(component, part) with self.subTest("TKR330M1VD11M"): part = capacitors_partname_decoder.resolve("TKR330M1VD11M") self.assertIsNotNone(part) component = Capacitor(capacitor_type=Capacitor.Type.MLCC, manufacturer="Jamicon", partnumber="TKR330M1VD11M", working_temperature_range=TemperatureRange('-55', '105'), series="TK", capacitance="33uF", voltage="35V", tolerance={'min': "-20%", 'max': '+20%'}, dielectric_type="Aluminium oxide", case="5.5x11", note="Wide temperature range") self.assertEqual(component, part) # ---------------- SK ----------------- with self.subTest("SKP471M1AE11M"): part = capacitors_partname_decoder.resolve("SKP471M1AE11M") self.assertIsNotNone(part) component = Capacitor(capacitor_type=Capacitor.Type.MLCC, manufacturer="Jamicon", partnumber="SKP471M1AE11M", working_temperature_range=TemperatureRange('-40', '105'), series="SK", capacitance="470uF", voltage="10V", tolerance={'min': "-20%", 'max': '+20%'}, dielectric_type="Aluminium oxide", case="6.3x11", note="General purpose") self.assertEqual(component, part) # ---------------- NS ----------------- with self.subTest("NSP470M0JE07ME2"): part = capacitors_partname_decoder.resolve("NSP470M0JE07ME2") self.assertIsNotNone(part) component = Capacitor(capacitor_type=Capacitor.Type.MLCC, manufacturer="Jamicon", partnumber="NSP470M0JE07ME2", working_temperature_range=TemperatureRange('-40', '85'), series="NS", capacitance="47uF", voltage="6.3V", tolerance={'min': "-20%", 'max': '+20%'}, dielectric_type="Aluminium oxide", case="6.3x7", note="7mmL, Bi-pola") self.assertEqual(component, part) # ---------------- SS ----------------- with self.subTest("SSP2R2M1JC07ME2"): part = capacitors_partname_decoder.resolve("SSP2R2M1JC07ME2") self.assertIsNotNone(part) component = Capacitor(capacitor_type=Capacitor.Type.MLCC, manufacturer="Jamicon", partnumber="SSP2R2M1JC07ME2", working_temperature_range=TemperatureRange('-40', '85'), series="SS", capacitance="2.2uF", voltage="63V", tolerance={'min': "-20%", 'max': '+20%'}, dielectric_type="Aluminium oxide", case="5x7", note="7mmL, General purpose") self.assertEqual(component, part) # ---------------- SH ----------------- with self.subTest("SHR100M1HE07M"): part = capacitors_partname_decoder.resolve("SHR100M1HE07M") self.assertIsNotNone(part) component = Capacitor(capacitor_type=Capacitor.Type.MLCC, manufacturer="Jamicon", partnumber="SHR100M1HE07M", working_temperature_range=TemperatureRange('-55', '105'), series="SH", capacitance="10uF", voltage="50V", tolerance={'min': "-20%", 'max': '+20%'}, dielectric_type="Aluminium oxide", case="6.3x7", note="7mmL, Wide temperature range") self.assertEqual(component, part)