Clone Tools
  • last updated a few minutes ago
Constraints
Constraints: committers
 
Constraints: files
Constraints: dates
RESOLVED

RESOLVED

Hey Peter, Thanks for the comments and all the testing . This function doesn't mean to be used the way you tested it. But anyway I came up with a better solution. def partition(vString, vPart, vRig...

Hey Peter,
Thanks for the comments and all the testing .
This function doesn't mean to be used the way you tested it.
But anyway I came up with a better solution.

def partition(vString, vPart, vRightDirection=True):
    return [vString[i: i + vPart] for i in range(0, len(vString), vPart)][::-1 if vRightDirection else 1]

Actually my first thought was not correct on how this portion of the code should work.

def partition_orig(vString, vPart, vRightDirection = True): if vRightDirection: list = [vString[i - vPart : i] for i in range(len(vString), 0, -vPart)] else: list = [vStrin...

def partition_orig(vString, vPart, vRightDirection = True):
    if vRightDirection:
        list = [vString[i - vPart : i] for i in range(len(vString), 0, -vPart)]
    else:
        list = [vString[i : i + vPart] for i in range(0, len(vString), vPart)]
    return list


def partition_2(vString, vPart, vRightDirection = True):
    if vRightDirection:
        vString = vString[::-1]
    return [vString[i : i + vPart][::-1] for i in range(0, len(vString), vPart)]

print(partition_orig("TESTING123", 3))
print(partition_2("TESTING123", 3))

                  


Outputs:

['123', 'ING', 'EST', '']
['123', 'ING', 'EST', 'T']


whereas

def partition_2(vString, vPart, vRightDirection = True):
    if vRightDirection:
        vString = vString[::-1]
    return [vString[i : i + vPart] for i in range(0, len(vString), vPart)]


outputs

['321', 'GNI', 'TSE', 'T']


I think you're saying you want to do the second one right? I think that would be better too!

Edit: Also I don't think you need the mString because in python immutable types (e.g. string, number, tuple) behave like call by value

I came out with the solution below : def partition1(vString, vPart, vRightDirection=True): mString = vString if vRightDirection: mString = vString[::-1] else: mString = vString list = [mString[i: ...

I came out with the solution below :

def partition1(vString, vPart, vRightDirection=True):
mString = vString
if vRightDirection:
mString = vString[::-1]
else:
mString = vString
list = [mString[i: i + vPart] for i in range(0, len(mString), vPart)]
return list

if _name_ == "_main_":
vString = "TESTING"
vPart = 3

list = partition1(vString, vPart, True)
print(list)


list = partition1(vString, vPart, False)
print(list)

// ----- Output ----- :
['GNI', 'TSE', 'T']
['TES', 'TIN', 'G']

which is exactly what I want.
I'm gonna push changes if you agree.

Thank you so much Peter. This is exactly the kind of code review I really like. I looked at the code you sent and tried to test it. At a first glance I saw a misbehavior. your code is partition2. ...

Thank you so much Peter.
This is exactly the kind of code review I really like.
I looked at the code you sent and tried to test it.
At a first glance I saw a misbehavior.

your code is partition2.
list = partition2("TESTING", 2, False)
print(list)

list = partition("TESTING", 2, False)
print(list)
// —
The output is different :
['ET', 'TS', 'NI', 'G'] partition2
['TE', 'ST', 'IN', 'G'] partition

so the output is unexpected.

partition("TESTING123", 3) will return ['123', 'ING', 'EST', ''] which is missing a character. Also, partition("TESTING123", 12) returns ['23'] which isn't right. How about: def...
 partition("TESTING123", 3) 


will return

['123', 'ING', 'EST', ''] 


which is missing a character.

Also,

 partition("TESTING123", 12) 


returns

 ['23'] 


which isn't right.

How about:

def partition(vString, vPart, vRightDirection = True):
	if vRightDirection:
		vString = vString[::-1]
	return [vString[i : i + vPart][::-1] for i in range(0, len(vString), vPart)]

UI-DEN-2236_UI 100% Coverage of the Application Software
UI-DEN-2236_UI 100% Coverage of the Application Software
DEN-2236_UI100%CoverageoftheApplicationSoftware

__________________________________________________________________________________

Behrouz NematiPour

bNematiPour@diality.com

  1. … 18 more files in changeset.
DEN-2087_BloodDialysateFlowAdjustment

- Screen timeout for showNtest_PowerOffRejectionDialog_byCAN has been changed from 1s to 2s.

__________________________________________________________________________________

Behrouz NematiPour

bNematiPour@diality.com

DEN-1434 : InTreatment Unit Test

- Power off button name changed.

- CRC of a message in a test case was wrong

  1. … 1 more file in changeset.
DEN-1974 : Unit Testing / DEN-1975 : Integration Testing

  1. … 3 more files in changeset.
DEN-1090 : UI Message Handler / Error Handler

- Used simple array instead of shlex module

DEN-1090 : UI Message Handler / Error Handler

- Updated The power off with new can messaging.

- Added new SRSUI 556 for Power Off timeout

  1. … 1 more file in changeset.
DEN-626

- Added Power Off unit tests as well

  1. … 3 more files in changeset.