From ae04a3e1d8aa9176b5a2de8cf5cf0feef6c83e23 Mon Sep 17 00:00:00 2001 From: hernanmd Date: Sun, 15 Jul 2018 03:16:19 -0300 Subject: [PATCH] Added method to collect package users in the format expected as parameter of GitMigration>>authors: method. Added test --- .../instance/collectPackageUsers..st | 15 +++++++++++++++ .../instance/testCollectPackageUsers.st | 13 +++++++++++++ 2 files changed, 28 insertions(+) create mode 100644 repository/GitMigration.package/GitMigration.class/instance/collectPackageUsers..st create mode 100644 repository/GitMigration.package/GitMigrationTest.class/instance/testCollectPackageUsers.st diff --git a/repository/GitMigration.package/GitMigration.class/instance/collectPackageUsers..st b/repository/GitMigration.package/GitMigration.class/instance/collectPackageUsers..st new file mode 100644 index 0000000..388ffb2 --- /dev/null +++ b/repository/GitMigration.package/GitMigration.class/instance/collectPackageUsers..st @@ -0,0 +1,15 @@ +accessing +collectPackageUsers: packageName + " Collect and answer a with the package users suitabe for use in #authors: parameter. + e-mails should be entered manually. " + + authors := ((RPackageOrganizer default packageNames + select: [ : p | p beginsWith: packageName ] + thenCollect: [ : n | n asPackage methods collect: #author ]) + gather: #yourself) asSet. + ^ (authors + reject: #isEmpty + thenCollect: [ : n | + n -> (Array + with: ((n piecesCutWhere: [ : a : b | b isUppercase ]) joinUsing: ' ') + with: '@.') ]) asSortedCollection. diff --git a/repository/GitMigration.package/GitMigrationTest.class/instance/testCollectPackageUsers.st b/repository/GitMigration.package/GitMigrationTest.class/instance/testCollectPackageUsers.st new file mode 100644 index 0000000..32b33e7 --- /dev/null +++ b/repository/GitMigration.package/GitMigrationTest.class/instance/testCollectPackageUsers.st @@ -0,0 +1,13 @@ +tests - accessing +testCollectPackageUsers + + | pkgUsers gm | + gm := GitMigration new. + pkgUsers := gm collectPackageUsers: 'Kernel'. + self assert: (pkgUsers isKindOf: Collection). + self deny: pkgUsers isEmpty. + self assert: (pkgUsers first isKindOf: Association). + self deny: pkgUsers first key isEmpty. + self assert: (pkgUsers first value isKindOf: Collection). + self deny: pkgUsers first value isEmpty. + self assert: pkgUsers first value second equals: '@.'