Best Python code snippet using AutoItDriverServer_python
test_references.py
Source:test_references.py  
...48        top_reg21_x   = root.find_by_path("top.reg2[1].x")49        top_reg21_y   = root.find_by_path("top.reg2[1].y")50        with self.subTest("bad lookup"):51            with self.assertRaises(LookupError):52                top.get_property('thisisnotaprop')53            with self.assertRaises(LookupError):54                top.get_property('sw')55            with self.assertRaises(TypeError):56                top.get_property('sw', bad_kwarg=1234)57            self.assertEqual(top.get_property('name'), "top")58            self.assertEqual(top.get_property('name', default="NA"), "NA")59        with self.subTest("glbl_sig"):60            self.assertIs(glbl_sig.get_property('ref_prop'), None)61        with self.subTest("top"):62            self.assertEqual(top.get_property('ref_prop'), top_reg21_x)63            self.assertIs(top.get_property('ref_prop').inst, top_reg21_x.inst)64        with self.subTest("top.reg1"):65            self.assertEqual(top_reg1.get_property('ref_prop'), top_reg1_x)66            self.assertIs(top_reg1.get_property('ref_prop').inst, top_reg1_x.inst)67        with self.subTest("top.reg1.sig"):68            self.assertIs(top_reg1_sig.get_property('ref_prop'), None)69        with self.subTest("top.reg1.x"):70            self.assertEqual(top_reg1_x.get_property('resetsignal'), glbl_sig)71            self.assertIs(top_reg1_x.get_property('resetsignal').inst, glbl_sig.inst)72        with self.subTest("top.reg1.y"):73            self.assertEqual(top_reg1_y.get_property('resetsignal'), top_reg1_sig)74            self.assertIs(top_reg1_y.get_property('resetsignal').inst, top_reg1_sig.inst)75        with self.subTest("top.reg2[0]"):76            self.assertEqual(top_reg20.get_property('ref_prop'), top_reg20_x)77            self.assertIs(top_reg20.get_property('ref_prop').inst, top_reg20_x.inst)78        with self.subTest("top.reg2[0].sig"):79            self.assertIs(top_reg20_sig.get_property('ref_prop'), None)80        with self.subTest("top.reg2[0].x"):81            self.assertEqual(top_reg20_x.get_property('resetsignal'), glbl_sig)82            self.assertIs(top_reg20_x.get_property('resetsignal').inst, glbl_sig.inst)83        with self.subTest("top.reg2[0].y"):84            self.assertEqual(top_reg20_y.get_property('resetsignal'), top_reg20_sig)85            self.assertIs(top_reg20_y.get_property('resetsignal').inst, top_reg20_sig.inst)86        with self.subTest("top.reg2[1]"):87            self.assertEqual(top_reg21.get_property('ref_prop'), top_reg21_x)88            self.assertIs(top_reg21.get_property('ref_prop').inst, top_reg21_x.inst)89        with self.subTest("top.reg2[1].sig"):90            self.assertIs(top_reg21_sig.get_property('ref_prop'), None)91        with self.subTest("top.reg2[1].x"):92            self.assertEqual(top_reg21_x.get_property('resetsignal'), glbl_sig)93            self.assertIs(top_reg21_x.get_property('resetsignal').inst, glbl_sig.inst)94        with self.subTest("top.reg2[1].y"):95            self.assertEqual(top_reg21_y.get_property('resetsignal'), top_reg21_sig)96            self.assertIs(top_reg21_y.get_property('resetsignal').inst, top_reg21_sig.inst)97    def test_dynamic_lhs_refs(self):98        root = self.compile(99            ["rdl_src/references_dynamic_lhs.rdl"],100            "top"101        )102        glbl_sig      = root.find_by_path("glbl_sig")103        top           = root.find_by_path("top")104        top_reg1      = root.find_by_path("top.reg1")105        top_reg1_sig  = root.find_by_path("top.reg1.sig")106        top_reg1_x    = root.find_by_path("top.reg1.x")107        top_reg1_y    = root.find_by_path("top.reg1.y")108        top_reg20     = root.find_by_path("top.reg2[0]")109        top_reg20_sig = root.find_by_path("top.reg2[0].sig")110        top_reg20_x   = root.find_by_path("top.reg2[0].x")111        top_reg20_y   = root.find_by_path("top.reg2[0].y")112        top_reg21     = root.find_by_path("top.reg2[1]")113        top_reg21_sig = root.find_by_path("top.reg2[1].sig")114        top_reg21_x   = root.find_by_path("top.reg2[1].x")115        top_reg21_y   = root.find_by_path("top.reg2[1].y")116        with self.subTest("glbl_sig"):117            self.assertIs(glbl_sig.get_property('ref_prop'), None)118        with self.subTest("top"):119            self.assertIs(top.get_property('ref_prop'), None)120        with self.subTest("top.reg1"):121            self.assertEqual(top_reg1.get_property('ref_prop'), top_reg20)122            self.assertIs(top_reg1.get_property('ref_prop').inst, top_reg20.inst)123        with self.subTest("top.reg1.sig"):124            self.assertIs(top_reg1_sig.get_property('ref_prop'), None)125        with self.subTest("top.reg1.x"):126            self.assertEqual(top_reg1_x.get_property('ref_prop'), top_reg1_y)127            self.assertIs(top_reg1_x.get_property('ref_prop').inst, top_reg1_y.inst)128            self.assertEqual(top_reg1_x.get_property('resetsignal'), glbl_sig)129            self.assertIs(top_reg1_x.get_property('resetsignal').inst, glbl_sig.inst)130            self.assertEqual(top_reg1_x.get_property('next').name, "ored")131            self.assertEqual(top_reg1_x.get_property('next').node, top_reg20_y)132        with self.subTest("top.reg1.y"):133            self.assertEqual(top_reg1_y.get_property('ref_prop'), top_reg1_x)134            self.assertIs(top_reg1_y.get_property('ref_prop').inst, top_reg1_x.inst)135            self.assertEqual(top_reg1_y.get_property('resetsignal'), glbl_sig)136            self.assertIs(top_reg1_y.get_property('resetsignal').inst, glbl_sig.inst)137            self.assertEqual(top_reg1_y.get_property('next').name, "anded")138            self.assertEqual(top_reg1_y.get_property('next').node, top_reg1_x)139        with self.subTest("top.reg2[0]"):140            self.assertEqual(top_reg20.get_property('ref_prop'), top_reg21_x)141            self.assertIs(top_reg20.get_property('ref_prop').inst, top_reg21_x.inst)142        with self.subTest("top.reg2[0].sig"):143            self.assertIs(top_reg20_sig.get_property('ref_prop'), None)144        with self.subTest("top.reg2[0].x"):145            self.assertEqual(top_reg20_x.get_property('ref_prop'), top_reg1)146            self.assertIs(top_reg20_x.get_property('ref_prop').inst, top_reg1.inst)147            self.assertEqual(top_reg20_x.get_property('resetsignal'), top_reg20_sig)148            self.assertIs(top_reg20_x.get_property('resetsignal').inst, top_reg20_sig.inst)149        with self.subTest("top.reg2[0].y"):150            self.assertEqual(top_reg20_y.get_property('ref_prop'), top_reg1_x)151            self.assertIs(top_reg20_y.get_property('ref_prop').inst, top_reg1_x.inst)152            self.assertEqual(top_reg20_y.get_property('resetsignal'), glbl_sig)153            self.assertIs(top_reg20_y.get_property('resetsignal').inst, glbl_sig.inst)154            self.assertEqual(top_reg20_y.get_property('next').name, "anded")155            self.assertEqual(top_reg20_y.get_property('next').node, top_reg20_x)156        with self.subTest("top.reg2[1]"):157            self.assertEqual(top_reg21.get_property('ref_prop'), top_reg21_x)158            self.assertIs(top_reg21.get_property('ref_prop').inst, top_reg21_x.inst)159        with self.subTest("top.reg2[1].sig"):160            self.assertIs(top_reg21_sig.get_property('ref_prop'), None)161        with self.subTest("top.reg2[1].x"):162            self.assertEqual(top_reg21_x.get_property('ref_prop'), top_reg1)163            self.assertIs(top_reg21_x.get_property('ref_prop').inst, top_reg1.inst)164            self.assertEqual(top_reg21_x.get_property('resetsignal'), top_reg21_sig)165            self.assertIs(top_reg21_x.get_property('resetsignal').inst, top_reg21_sig.inst)166        with self.subTest("top.reg2[1].y"):167            self.assertEqual(top_reg21_y.get_property('ref_prop'), top_reg1_x)168            self.assertIs(top_reg21_y.get_property('ref_prop').inst, top_reg1_x.inst)169            self.assertEqual(top_reg21_y.get_property('resetsignal'), glbl_sig)170            self.assertIs(top_reg21_y.get_property('resetsignal').inst, glbl_sig.inst)171            self.assertEqual(top_reg21_y.get_property('next').name, "anded")172            self.assertEqual(top_reg21_y.get_property('next').node, top_reg21_x)173    def test_default_lhs_refs(self):174        root = self.compile(175            ["rdl_src/references_default_lhs.rdl"],176            "top"177        )178        glbl_sig      = root.find_by_path("glbl_sig")179        top           = root.find_by_path("top")180        top_reg1      = root.find_by_path("top.reg1")181        top_reg1_sig  = root.find_by_path("top.reg1.sig")182        top_reg1_x    = root.find_by_path("top.reg1.x")183        top_reg1_y    = root.find_by_path("top.reg1.y")184        top_reg20     = root.find_by_path("top.reg2[0]")185        top_reg20_sig = root.find_by_path("top.reg2[0].sig")186        top_reg20_x   = root.find_by_path("top.reg2[0].x")187        top_reg20_y   = root.find_by_path("top.reg2[0].y")188        top_reg21     = root.find_by_path("top.reg2[1]")189        top_reg21_sig = root.find_by_path("top.reg2[1].sig")190        top_reg21_x   = root.find_by_path("top.reg2[1].x")191        top_reg21_y   = root.find_by_path("top.reg2[1].y")192        top_reg3      = root.find_by_path("top.reg3")193        top_reg3_z    = root.find_by_path("top.reg3.z")194        with self.subTest("glbl_sig"):195            self.assertIs(glbl_sig.get_property('ref_prop'), None)196        with self.subTest("top"):197            self.assertIs(top.get_property('ref_prop'), None)198        with self.subTest("top.reg1"):199            self.assertIs(top_reg1.get_property('ref_prop'), None)200        with self.subTest("top.reg1.sig"):201            self.assertIs(top_reg1_sig.get_property('ref_prop'), None)202        with self.subTest("top.reg1.x"):203            self.assertIs(top_reg1_x.get_property('ref_prop'), None)204            self.assertEqual(top_reg1_x.get_property('resetsignal'), glbl_sig)205            self.assertIs(top_reg1_x.get_property('resetsignal').inst, glbl_sig.inst)206        with self.subTest("top.reg1.y"):207            self.assertEqual(top_reg1_y.get_property('ref_prop'), top_reg1_x)208            self.assertIs(top_reg1_y.get_property('ref_prop').inst, top_reg1_x.inst)209            self.assertEqual(top_reg1_y.get_property('resetsignal'), top_reg1_sig)210            self.assertIs(top_reg1_y.get_property('resetsignal').inst, top_reg1_sig.inst)211            self.assertEqual(top_reg1_y.get_property('next').name, "anded")212            self.assertEqual(top_reg1_y.get_property('next').node, top_reg1_x)213        with self.subTest("top.reg2[0]"):214            self.assertIs(top_reg20.get_property('ref_prop'), None)215        with self.subTest("top.reg2[0].sig"):216            self.assertIs(top_reg20_sig.get_property('ref_prop'), None)217        with self.subTest("top.reg2[0].x"):218            self.assertIs(top_reg20_x.get_property('ref_prop'), None)219            self.assertEqual(top_reg20_x.get_property('resetsignal'), glbl_sig)220            self.assertIs(top_reg20_x.get_property('resetsignal').inst, glbl_sig.inst)221        with self.subTest("top.reg2[0].y"):222            self.assertEqual(top_reg20_y.get_property('ref_prop'), top_reg20_x)223            self.assertIs(top_reg20_y.get_property('ref_prop').inst, top_reg20_x.inst)224            self.assertEqual(top_reg20_y.get_property('resetsignal'), top_reg20_sig)225            self.assertIs(top_reg20_y.get_property('resetsignal').inst, top_reg20_sig.inst)226            self.assertEqual(top_reg20_y.get_property('next').name, "anded")227            self.assertEqual(top_reg20_y.get_property('next').node, top_reg20_x)228        with self.subTest("top.reg2[1]"):229            self.assertIs(top_reg21.get_property('ref_prop'), None)230        with self.subTest("top.reg2[1].sig"):231            self.assertIs(top_reg21_sig.get_property('ref_prop'), None)232        with self.subTest("top.reg2[1].x"):233            self.assertIs(top_reg21_x.get_property('ref_prop'), None)234            self.assertEqual(top_reg21_x.get_property('resetsignal'), glbl_sig)235            self.assertIs(top_reg21_x.get_property('resetsignal').inst, glbl_sig.inst)236        with self.subTest("top.reg2[1].y"):237            self.assertEqual(top_reg21_y.get_property('ref_prop'), top_reg21_x)238            self.assertIs(top_reg21_y.get_property('ref_prop').inst, top_reg21_x.inst)239            self.assertEqual(top_reg21_y.get_property('resetsignal'), top_reg21_sig)240            self.assertIs(top_reg21_y.get_property('resetsignal').inst, top_reg21_sig.inst)241            self.assertEqual(top_reg21_y.get_property('next').name, "anded")242            self.assertEqual(top_reg21_y.get_property('next').node, top_reg21_x)243        with self.subTest("top.reg3"):244            self.assertEqual(top_reg3.get_property('ref_prop'), top_reg1)245            self.assertIs(top_reg3.get_property('ref_prop').inst, top_reg1.inst)246        with self.subTest("top.reg3.z"):247            self.assertEqual(top_reg3_z.get_property('ref_prop'), top_reg1)248            self.assertIs(top_reg3_z.get_property('ref_prop').inst, top_reg1.inst)249            self.assertEqual(top_reg3_z.get_property('resetsignal'), top_reg21_sig)250            self.assertIs(top_reg3_z.get_property('resetsignal').inst, top_reg21_sig.inst)251            self.assertEqual(top_reg3_z.get_property('next').name, "ored")252            self.assertEqual(top_reg3_z.get_property('next').node, top_reg20_y)253    def test_signal_dpa(self):254        root = self.compile(255            ["rdl_src/signal_scope.rdl"],256            "top"257        )258        my_signal = root.find_by_path("top.my_signal")259        b = root.find_by_path("top.a.b")260        my_signal_via_prop = b.get_property('resetsignal')261        self.assertEqual(my_signal, my_signal_via_prop)262        self.assertEqual(263            my_signal.get_property('name'),264            my_signal_via_prop.get_property('name')265        )...pyccarui.py
Source:pyccarui.py  
...33def get_font(size):34    if size not in deffont:35        deffont[size] = pygame.font.Font(None, size)36    return deffont[size]37def get_property(win_id, property):38    value = None39    if win_id in windows:40        W = windows[win_id]41        if property in W:42            value = W[property]43        elif property in defprop:44            value = defprop[property]45    return value46def ui_set_property(win_id, property, value):47    if win_id not in windows:48        windows[win_id] = {}49    W = windows[win_id]50    W[property] = value51def draw_border(win_id, bbox, flags):52    BG = get_property(win_id, 'BG')53    if flags & 0x04: # enabled54        FG = get_property(win_id, 'FG')55        if flags & 0x08: # active56            thickness = get_property(win_id, 'a-thick')57        else: # inactive58            thickness = get_property(win_id, 'n-thin')59    else: # disabled60        FG = get_property(win_id, 'dis_FG')61        thickness = get_property(win_id, 'n-thin')62    d = get_property(win_id, 'inset')63    if thickness > d:64        thickness = d65    (x, y, w, h) = bbox66    pygame.draw.rect(screen, FG, (x+d-thickness, y+d-thickness, w-2*d+2*thickness, h-2*d+2*thickness), 0)67    pygame.draw.rect(screen, BG, (x+d, y+d, w-2*d, h-2*d), 0)68def draw_back(win_id, bbox, flags):69    BG = get_property(win_id, 'BG')70    if flags & 0x04: # enabled71        FG = get_property(win_id, 'FG')72    else: # disabled73        FG = get_property(win_id, 'dis_FG')74    thickness = get_property(win_id, 'line')75    d         = get_property(win_id, 'inset')76    (x, y, w, h) = bbox77    x = x + 3 * d78    y = y + 3 * d79    w = w - 6 * d80    h = h - 6 * d81    hw = int(round(w/2))82    hh = int(round(h/2))83    ht = int(round(thickness/2))84    centre = (x+hw, y+hh)85    radius = hw86    pygame.draw.circle(screen, FG, centre, radius, 0)87    pygame.draw.circle(screen, BG, centre, radius-thickness, 0)88    bboxi = (x, y+hh, hw, hh)89    pygame.draw.rect(screen, BG, bboxi, 0)90    xarr = x + ht91    yarr = y + hh92    pygame.draw.polygon(screen, FG, [(xarr-d,yarr), (xarr+d,yarr), (xarr,yarr+d)], 0)93def draw_main(win_id, bbox, flags):94    BG = get_property(win_id, 'BG')95    if flags & 0x04: # enabled96        FG = get_property(win_id, 'FG')97    else: # disabled98        FG = get_property(win_id, 'dis_FG')99    thickness = get_property(win_id, 'line')100    d         = get_property(win_id, 'inset')101    (x, y, w, h) = bbox102    x = x + 3 * d103    y = y + 3 * d104    w = w - 6 * d105    h = h - 6 * d106    t = int(round(h/7))107    for i in range(0, 4):108        bboxi = (x, y+2*i*t, w, t)109        pygame.draw.rect(screen, FG, bboxi, 0)110def draw_exit(win_id, bbox, flags):111    BG = get_property(win_id, 'BG')112    if flags & 0x04: # enabled113        FG = get_property(win_id, 'FG')114    else: # disabled115        FG = get_property(win_id, 'dis_FG')116    thickness = get_property(win_id, 'line')117    d         = get_property(win_id, 'inset')118    (x, y, w, h) = bbox119    x = x + 3 * d120    y = y + 3 * d121    w = w - 6 * d122    h = h - 6 * d123    hw = int(round(w/2))124    hh = int(round(h/2))125    ht = int(round(thickness/2))126    centre = (x+hw, y+hh)127    radius = hw128    pygame.draw.circle(screen, FG, centre, radius, 0)129    pygame.draw.circle(screen, BG, centre, radius-thickness, 0)130    bboxi = (x+hw-thickness-ht, y, 3*thickness, hh)131    pygame.draw.rect(screen, BG, bboxi, 0)132    bboxi = (x+hw-ht, y-thickness, thickness, hh+thickness)133    pygame.draw.rect(screen, FG, bboxi, 0)134def draw_up(win_id, bbox, flags):135    if flags & 0x04: # enabled136        FG = get_property(win_id, 'FG')137    else: # disabled138        FG = get_property(win_id, 'dis_FG')139    thickness = get_property(win_id, 'line')140    d         = get_property(win_id, 'inset')141    (x, y, w, h) = bbox142    hw = int(round(w/2))143    xl = x + 3*d144    yt = y + 3*d145    x0 = x + hw146    xr = x + w - 3*d147    yb = y + h - 3*d148    pygame.draw.polygon(screen, FG, [(xl,yb), (x0,yt), (xr,yb)], 0)149def draw_down(win_id, bbox, flags):150    if flags & 0x04: # enabled151        FG = get_property(win_id, 'FG')152    else: # disabled153        FG = get_property(win_id, 'dis_FG')154    thickness = get_property(win_id, 'line')155    d         = get_property(win_id, 'inset')156    (x, y, w, h) = bbox157    hw = int(round(w/2))158    xl = x + 3*d159    yt = y + 3*d160    x0 = x + hw161    xr = x + w - 3*d162    yb = y + h - 3*d163    pygame.draw.polygon(screen, FG, [(xl,yt), (x0,yb), (xr,yt)], 0)164def draw_scroll(win_id, bbox, flags):165    d      = get_property(win_id, 'inset')166    scroll = get_property(win_id, 'Scroll')167    (x, y, w, h) = bbox168    pygame.draw.rect(screen, grey, (x+d, y, w-2*d, h), 0)169    if scroll:170        (s_min, s_max) = scroll171        bboxi = (x+2*d, int(round(y+(h*s_min)/100)), w-4*d, int(round((h*(s_max-s_min))/100)))172        pygame.draw.rect(screen, blue, bboxi, 0)173def draw_menu_item(win_id, bbox, flags):174    d    = get_property(win_id, 'inset')175    FG   = get_property(win_id, 'FG')176    text = get_property(win_id, 'Label')177    size = get_property(win_id, 'size')178    font = get_font(size)179    label = font.render(str(text), 1, (FG))180    (x, y, w, h) = bbox181    screen.blit(label, (x+2*d,y+2*d))182    if flags & 0x10: # we have a submenu183        thickness = get_property(win_id, 'line')184        xl = x + w - 6*d185        yt = y + 2*d186        y0 = y + h/2187        xr = x + w - 2*d188        yb = y + h - 2*d189        pygame.draw.polygon(screen, FG, [(xl,yt), (xl,yb), (xr,y0)], 0)190def draw_canvas_tracker_point(bbox, location, BG, FG):191    (x, y, w, h) = bbox192    half_size = int(round(min(w,h)/12)) # half-size of square to draw around touch point193    thickness = 2194    (tx, ty) = location195    if x + half_size > tx:196        sx = x197        sw = half_size + tx - x198    elif tx + half_size > x + w:199        sx = tx - half_size200        sw = x + w - sx201    else:202        sx = tx - half_size203        sw = 2 * half_size204    if y + half_size > ty:205        sy = y206        sh = half_size + ty - y207    elif ty + half_size > y + h:208        sy = ty - half_size209        sh = y + h - sy210    else:211        sy = ty - half_size212        sh = 2 * half_size213    pygame.draw.rect(screen, FG, (sx, sy, sw, sh), 0)214    pygame.draw.rect(screen, BG, (sx+thickness, sy+thickness, sw-2*thickness, sh-2*thickness), 0)215def draw_canvas_tracker(win_id, bbox, flags):216    count = get_property(win_id, 'CT#')217    loc_1 = None218    loc_2 = None219    if count is not None:220        if count > 0:221            loc_1 = get_property(win_id, 'CT1')222        if count > 1:223            loc_2 = get_property(win_id, 'CT2')224    if loc_1 is not None:225        FG = get_property(win_id, 'FG')226        BG = get_property(win_id, 'BG')227        draw_canvas_tracker_point(bbox, loc_1, BG, FG)228        if loc_2 is not None:229            draw_canvas_tracker_point(bbox, loc_2, BG, FG)230def ui_draw(win_id):231    flags = get_property(win_id, 'flags')232    if flags & 0x01: # visible233        bbox = get_property(win_id, 'bbox')234        BG   = get_property(win_id, 'BG')235        pygame.draw.rect(screen, BG, bbox, 0) # 0-thickness = fill236    if (flags & 0x21) == 0x01: # visible, but not blank237        if flags & 0x02: # there's a border238            draw_border(win_id, bbox, flags)239        type = get_property(win_id, 'type')240        if type == 'Back':241            draw_back(win_id, bbox, flags)242        elif type == 'Main':243            draw_main(win_id, bbox, flags)244        elif type == 'Exit':245            draw_exit(win_id, bbox, flags)246        elif type == 'Up':247            draw_up(win_id, bbox, flags)248        elif type == 'Down':249            draw_down(win_id, bbox, flags)250        elif type == 'Scroll':251            draw_scroll(win_id, bbox, flags)252        elif type == 'Menu Item':253            draw_menu_item(win_id, bbox, flags)...test_prop_side_effects.py
Source:test_prop_side_effects.py  
...7            "top"8        )9        #-----------------------------------------------------------------------10        with self.subTest("bool pair"):11            self.assertFalse(root.find_by_path("top.my_signal").get_property('async'))12            self.assertTrue(root.find_by_path("top.my_signal").get_property('sync'))13        #-----------------------------------------------------------------------14        with self.subTest("rclr"):15            self.assertFalse(root.find_by_path("top.r1.f0").get_property('rclr'))16            self.assertTrue(root.find_by_path("top.r1.f1").get_property('rclr'))17            self.assertFalse(root.find_by_path("top.r1.f2").get_property('rclr'))18            self.assertTrue(root.find_by_path("top.r1.f3").get_property('rclr'))19            self.assertFalse(root.find_by_path("top.r1.f4").get_property('rclr'))20            self.assertTrue(root.find_by_path("top.r1.f5").get_property('rclr'))21            self.assertFalse(root.find_by_path("top.r1.f6").get_property('rclr'))22            self.assertTrue(root.find_by_path("top.r1.f7").get_property('rclr'))23            self.assertFalse(root.find_by_path("top.r1.f8").get_property('rclr'))24        with self.subTest("rset"):25            self.assertFalse(root.find_by_path("top.r1.f0").get_property('rset'))26            self.assertFalse(root.find_by_path("top.r1.f1").get_property('rset'))27            self.assertTrue(root.find_by_path("top.r1.f2").get_property('rset'))28            self.assertFalse(root.find_by_path("top.r1.f3").get_property('rset'))29            self.assertTrue(root.find_by_path("top.r1.f4").get_property('rset'))30            self.assertFalse(root.find_by_path("top.r1.f5").get_property('rset'))31            self.assertTrue(root.find_by_path("top.r1.f6").get_property('rset'))32            self.assertFalse(root.find_by_path("top.r1.f7").get_property('rset'))33            self.assertTrue(root.find_by_path("top.r1.f8").get_property('rset'))34        with self.subTest("onread"):35            self.assertIsNone(root.find_by_path("top.r1.f0").get_property('onread'))36            self.assertEqual(37                root.find_by_path("top.r1.f1").get_property('onread'),38                rdltypes.OnReadType.rclr39            )40            self.assertEqual(41                root.find_by_path("top.r1.f2").get_property('onread'),42                rdltypes.OnReadType.rset43            )44            self.assertEqual(45                root.find_by_path("top.r1.f3").get_property('onread'),46                rdltypes.OnReadType.rclr47            )48            self.assertEqual(49                root.find_by_path("top.r1.f4").get_property('onread'),50                rdltypes.OnReadType.rset51            )52            self.assertEqual(53                root.find_by_path("top.r1.f5").get_property('onread'),54                rdltypes.OnReadType.rclr55            )56            self.assertEqual(57                root.find_by_path("top.r1.f6").get_property('onread'),58                rdltypes.OnReadType.rset59            )60            self.assertEqual(61                root.find_by_path("top.r1.f7").get_property('onread'),62                rdltypes.OnReadType.rclr63            )64            self.assertEqual(65                root.find_by_path("top.r1.f8").get_property('onread'),66                rdltypes.OnReadType.rset67            )68        #-----------------------------------------------------------------------69        with self.subTest("woclr"):70            self.assertFalse(root.find_by_path("top.r2.f0").get_property('woclr'))71            self.assertTrue(root.find_by_path("top.r2.f1").get_property('woclr'))72            self.assertFalse(root.find_by_path("top.r2.f2").get_property('woclr'))73            self.assertTrue(root.find_by_path("top.r2.f3").get_property('woclr'))74            self.assertFalse(root.find_by_path("top.r2.f4").get_property('woclr'))75            self.assertTrue(root.find_by_path("top.r2.f5").get_property('woclr'))76            self.assertFalse(root.find_by_path("top.r2.f6").get_property('woclr'))77            self.assertTrue(root.find_by_path("top.r2.f7").get_property('woclr'))78            self.assertFalse(root.find_by_path("top.r2.f8").get_property('woclr'))79        with self.subTest("woset"):80            self.assertFalse(root.find_by_path("top.r2.f0").get_property('woset'))81            self.assertFalse(root.find_by_path("top.r2.f1").get_property('woset'))82            self.assertTrue(root.find_by_path("top.r2.f2").get_property('woset'))83            self.assertFalse(root.find_by_path("top.r2.f3").get_property('woset'))84            self.assertTrue(root.find_by_path("top.r2.f4").get_property('woset'))85            self.assertFalse(root.find_by_path("top.r2.f5").get_property('woset'))86            self.assertTrue(root.find_by_path("top.r2.f6").get_property('woset'))87            self.assertFalse(root.find_by_path("top.r2.f7").get_property('woset'))88            self.assertTrue(root.find_by_path("top.r2.f8").get_property('woset'))89        with self.subTest("onwrite"):90            self.assertIsNone(root.find_by_path("top.r2.f0").get_property('onwrite'))91            self.assertEqual(92                root.find_by_path("top.r2.f1").get_property('onwrite'),93                rdltypes.OnWriteType.woclr94            )95            self.assertEqual(96                root.find_by_path("top.r2.f2").get_property('onwrite'),97                rdltypes.OnWriteType.woset98            )99            self.assertEqual(100                root.find_by_path("top.r2.f3").get_property('onwrite'),101                rdltypes.OnWriteType.woclr102            )103            self.assertEqual(104                root.find_by_path("top.r2.f4").get_property('onwrite'),105                rdltypes.OnWriteType.woset106            )107            self.assertEqual(108                root.find_by_path("top.r2.f5").get_property('onwrite'),109                rdltypes.OnWriteType.woclr110            )111            self.assertEqual(112                root.find_by_path("top.r2.f6").get_property('onwrite'),113                rdltypes.OnWriteType.woset114            )115            self.assertEqual(116                root.find_by_path("top.r2.f7").get_property('onwrite'),117                rdltypes.OnWriteType.woclr118            )119            self.assertEqual(120                root.find_by_path("top.r2.f8").get_property('onwrite'),121                rdltypes.OnWriteType.woset122            )123        #-----------------------------------------------------------------------124        with self.subTest("incrthreshold alias"):125            self.assertEqual(126                root.find_by_path("top.r3.f1").get_property('incrthreshold'),127                1128            )129            self.assertEqual(130                root.find_by_path("top.r3.f1").get_property('threshold'),131                1132            )133            self.assertEqual(134                root.find_by_path("top.r3.f2").get_property('incrthreshold'),135                2136            )137            self.assertEqual(138                root.find_by_path("top.r3.f2").get_property('threshold'),139                2140            )141        with self.subTest("incrsaturate alias"):142            self.assertEqual(143                root.find_by_path("top.r3.f1").get_property('incrsaturate'),144                3145            )146            self.assertEqual(147                root.find_by_path("top.r3.f1").get_property('saturate'),148                3149            )150            self.assertEqual(151                root.find_by_path("top.r3.f2").get_property('incrsaturate'),152                4153            )154            self.assertEqual(155                root.find_by_path("top.r3.f2").get_property('saturate'),156                4...test_parameters.py
Source:test_parameters.py  
...13        reg8   = root.find_by_path("myAmap.reg8")14        mem32  = root.find_by_path("myAmap.mem32")15        mem64  = root.find_by_path("myAmap.mem64")16        with self.subTest("reg32"):17            self.assertEqual(reg32.get_property('regwidth'), 32)18            self.assertEqual(reg32.get_property('shared'), True)19            data = reg32.get_child_by_name("data")20            self.assertEqual(data.width, 31)21            self.assertEqual(data.high, 30)22            self.assertEqual(data.low, 0)23        with self.subTest("reg32a"):24            self.assertEqual(reg32a.get_property('regwidth'), 32)25            self.assertEqual(reg32a.get_property('shared'), True)26            data = reg32a.get_child_by_name("data")27            self.assertEqual(data.width, 31)28            self.assertEqual(data.high, 30)29            self.assertEqual(data.low, 0)30        with self.subTest("reg16"):31            self.assertEqual(reg16.get_property('regwidth'), 16)32            self.assertEqual(reg16.get_property('shared'), True)33            data = reg16.get_child_by_name("data")34            self.assertEqual(data.width, 15)35            self.assertEqual(data.high, 14)36            self.assertEqual(data.low, 0)37        with self.subTest("reg8"):38            self.assertEqual(reg8.get_property('regwidth'), 8)39            self.assertEqual(reg8.get_property('shared'), False)40            data = reg8.get_child_by_name("data")41            self.assertEqual(data.width, 7)42            self.assertEqual(data.high, 6)43            self.assertEqual(data.low, 0)44        with self.subTest("mem32"):45            self.assertEqual(mem32.get_property('mementries'), 4096)46            self.assertEqual(mem32.get_property('memwidth'), 32)47        with self.subTest("mem64"):48            self.assertEqual(mem64.get_property('mementries'), 4096)49            self.assertEqual(mem64.get_property('memwidth'), 64)50    def test_more(self):51        root = self.compile(52            ["rdl_src/parameters.rdl"],53            "amap2"54        )55        reg1 = root.find_by_path("amap2.reg1")56        reg2 = root.find_by_path("amap2.reg2")57        reg3 = root.find_by_path("amap2.reg3")58        with self.subTest("reg1"):59            self.assertEqual(reg1.inst.type_name, "param_reg")60            self.assertEqual(reg1.get_property('name'), "myname")61            self.assertEqual(reg1.get_property('shared'), False)62            data = reg1.get_child_by_name("data")63            self.assertEqual(data.get_property('hdl_path_slice'), ["dat"])64        with self.subTest("reg2"):65            self.assertEqual(reg2.inst.type_name, "param_reg")66            self.assertEqual(reg2.get_property('name'), "myname")67            self.assertEqual(reg2.get_property('shared'), False)68            data = reg2.get_child_by_name("data")69            self.assertEqual(data.get_property('hdl_path_slice'), ["dat"])70        with self.subTest("reg3"):71            self.assertEqual(reg3.inst.type_name, "param_reg_NAME_a36638b4_SHARED_t_FIELD_SLICES_184d423e")72            self.assertEqual(reg3.get_property('name'), "othername")73            self.assertEqual(reg3.get_property('shared'), True)74            data = reg3.get_child_by_name("data")75            self.assertEqual(data.get_property('hdl_path_slice'), ["foo"])76    def test_nested(self):77        root = self.compile(78            ["rdl_src/parameters.rdl"],79            "nested"80        )81        f1 = root.find_by_path("nested.rf_inst.r_inst1.f")82        f2 = root.find_by_path("nested.rf_inst.r_inst2.f")83        f3 = root.find_by_path("nested.r1_inst.f")84        with self.subTest("f1"):85            self.assertEqual(f1.width, 4)86        with self.subTest("f2"):87            self.assertEqual(f2.width, 4)88        with self.subTest("f3"):89            self.assertEqual(f3.width, 5)90    def test_elab_defaults(self):91        root = self.compile(92            ["rdl_src/parameters.rdl"],93            "elab_params",94            parameters={}95        )96        f1 = root.find_by_path("elab_params.r1.f")97        f2 = root.find_by_path("elab_params.r2.f")98        f3 = root.find_by_path("elab_params.r3.f")99        self.assertEqual(f1.width, 1)100        self.assertEqual(f2.width, 2)101        self.assertEqual(f3.width, 3)102        self.assertEqual(f1.get_property('onwrite'), rdlt.OnWriteType.woset)103        self.assertEqual(f2.get_property('donttest'), True)104        self.assertEqual(f3.get_property('name'), "default")105    def test_elab_override(self):106        root = self.compile(107            ["rdl_src/parameters.rdl"],108            "elab_params",109            parameters={110                "STR":"python!",111                "INT": 5,112                "INTARR": [6,7],113                "ONWR": rdlt.OnWriteType.woclr,114                "BOOL": False115            }116        )117        f1 = root.find_by_path("elab_params.r1.f")118        f2 = root.find_by_path("elab_params.r2.f")119        f3 = root.find_by_path("elab_params.r3.f")120        self.assertEqual(f1.width, 5)121        self.assertEqual(f2.width, 6)122        self.assertEqual(f3.width, 7)123        self.assertEqual(f1.get_property('onwrite'), rdlt.OnWriteType.woclr)124        self.assertEqual(f2.get_property('donttest'), False)125        self.assertEqual(f3.get_property('name'), "python!")126    def test_elab_override_via_eval(self):127        rdlc = RDLCompiler()128        root = self.compile(129            ["rdl_src/parameters.rdl"],130            "elab_params",131            parameters={132                "STR": rdlc.eval('"python!"'),133                "INT":  rdlc.eval('5'),134                "INTARR":  rdlc.eval("'{6,7}"),135                "ONWR":  rdlc.eval('woclr'),136                "BOOL":  rdlc.eval('100/2 - 50')137            }138        )139        f1 = root.find_by_path("elab_params.r1.f")140        f2 = root.find_by_path("elab_params.r2.f")141        f3 = root.find_by_path("elab_params.r3.f")142        self.assertEqual(f1.width, 5)143        self.assertEqual(f2.width, 6)144        self.assertEqual(f3.width, 7)145        self.assertEqual(f1.get_property('onwrite'), rdlt.OnWriteType.woclr)146        self.assertEqual(f2.get_property('donttest'), False)147        self.assertEqual(f3.get_property('name'), "python!")148    def test_param_scope(self):149        root = self.compile(150            ["rdl_src/parameters.rdl"],151            "param_scope"152        )153        ffX = root.find_by_path("param_scope.rfX.rf3.rf2.rr.ff")154        ffY = root.find_by_path("param_scope.rfY.rf3.rf2.rr.ff")155        ffZ = root.find_by_path("param_scope.rfZ.rf3.rf2.rr.ff")156        self.assertEqual(ffX.width, 2)157        self.assertEqual(ffY.width, 3)...Learn to execute automation testing from scratch with LambdaTest Learning Hub. Right from setting up the prerequisites to run your first automation test, to following best practices and diving deeper into advanced test scenarios. LambdaTest Learning Hubs compile a list of step-by-step guides to help you be proficient with different test automation frameworks i.e. Selenium, Cypress, TestNG etc.
You could also refer to video tutorials over LambdaTest YouTube channel to get step by step demonstration from industry experts.
Get 100 minutes of automation test minutes FREE!!
