commit 8d5a702385178e91a19be9325f1edb6f82b9e90a
parent f5b3878cfb3ba3674bdbace7cf8364c2ae2d4a7a
Author: Samir Parikh <noreply@samirparikh.com>
Date: Sun, 23 Jan 2022 15:21:44 +0000
make updates
Diffstat:
3 files changed, 18 insertions(+), 171 deletions(-)
diff --git a/palindrome-products/Palindrome.pm b/palindrome-products/Palindrome.pm
@@ -12,17 +12,17 @@ sub new {
return $self;
}
-sub _init {
- my ( $self, $arg ) = @_;
+#sub _init {
+# my ( $self, $arg ) = @_;
# my $min_factor = $arg->{min_factor};
# unless (defined $min_factor ) {
# $self->{min_factor} = 1;
# }
- $self->{min_factor} = defined $arg->{min_factor} ?
- $arg->{min_factor} :
- 1;
- $self->{max_factor} = $arg->{max_factor};
-}
+# $self->{min_factor} = defined $arg->{min_factor} ?
+# $arg->{min_factor} :
+# 1;
+# $self->{max_factor} = $arg->{max_factor};
+#}
sub largest {
my $self = shift;
@@ -43,4 +43,15 @@ sub smallest {
return undef;
}
+sub _init {
+ my ( $self, $arg ) = @_;
+ $self->{min_factor} =
+ defined $arg->{min_factor} ? $arg->{min_factor} : 1;
+ $self->{max_factor} = $arg->{max_factor};
+}
+
+sub is_palindrome {
+ return $_[0] eq reverse $_[0];
+}
+
1;
diff --git a/palindrome-products/ptest.pl b/palindrome-products/ptest.pl
@@ -1,83 +0,0 @@
-#!/usr/bin/env perl
-use strict;
-use warnings;
-
-use Test2::Bundle::More;
-use FindBin qw($Bin);
-use lib $Bin, "$Bin/local/lib/perl5";
-
-my $module = 'Palindrome';
-use Palindrome;
-
-#plan 15;
-#
-#ok -e "$Bin/$module.pm", "Missing $module.pm"
-# or BAIL_OUT "You need to create file: $module.pm";
-#
-#eval "use $module";
-#ok !$@, "Cannot load $module"
-# or BAIL_OUT
-# "Cannot load $module. Does it compile? Does it end with 1;?";
-#
-#can_ok $module, "new"
-# or BAIL_OUT "Missing package $module or missing sub new()";
-#can_ok $module, "largest"
-# or BAIL_OUT "Missing package $module or missing sub largest()";
-#can_ok $module, "smallest"
-# or BAIL_OUT "Missing package $module or missing sub smallest()";
-
-my $palindrome;
-my ( $largest, $smallest );
-
-#$palindrome = $module->new( { max_factor => 9 } );
-#$largest = $palindrome->largest;
-#is $largest->{value}, 9,
-# "largest palindrome value from single digit factors";
-#is_deeply(
-# $largest->{factors},
-# [ [ 1, 9 ], [ 3, 3 ] ],
-# "largest single digit palindrome factors"
-#) or diag explain $largest->{factors};
-
-$palindrome = $module->new( { max_factor => 9, min_factor => 1 } );
-$largest = $palindrome->largest;
-print "largest palindrome product, which should be 9, is '$largest->{value}'\n";
-#is $largest->{value}, 9009,
-# "largest palindrome value from double digit factors";
-#is_deeply(
-# [ sort @{ $largest->{factors} } ],
-# [ [ 91, 99 ] ],
-# "largest double digit palindrome factors"
-#) or diag explain $largest->{factors};
-
-#$palindrome
-# = $module->new( { max_factor => 999, min_factor => 100 } );
-#$largest = $palindrome->largest;
-#is $largest->{value}, 906609,
-# "largest palindrome value from triple digit factors";
-#is_deeply(
-# $largest->{factors},
-# [ [ 913, 993 ] ],
-# "largest triple digit palindrome factors"
-#) or diag explain $largest->{factors};
-
-$palindrome = $module->new( { max_factor => 99, min_factor => 10 } );
-$smallest = $palindrome->smallest;
-is $smallest->{value}, 121,
- "smallest palindrome value from double digit factors";
-is_deeply(
- $smallest->{factors},
- [ [ 11, 11 ] ],
- "smallest double digit palindrome factors"
-) or diag explain $smallest->{factors};
-
-#$palindrome
-# = $module->new( { max_factor => 999, min_factor => 100 } );
-#$smallest = $palindrome->smallest;
-#is $smallest->{value}, 10201,
-# "smallest palindrome value from triple digit factors";
-#is_deeply(
-# $smallest->{factors},
-# [ [ 101, 101 ] ],
-# "smallest triple digit palindrome factors"
-#) or diag explain $smallest->{factors};
diff --git a/palindrome-products/ptest2.pl b/palindrome-products/ptest2.pl
@@ -1,81 +0,0 @@
-#!/usr/bin/env perl
-use strict;
-use warnings;
-
-use Test2::Bundle::More;
-use FindBin qw($Bin);
-use lib $Bin, "$Bin/local/lib/perl5";
-
-my $module = 'Palindrome';
-
-plan 9;
-
-ok -e "$Bin/$module.pm", "Missing $module.pm"
- or BAIL_OUT "You need to create file: $module.pm";
-
-eval "use $module";
-ok !$@, "Cannot load $module"
- or BAIL_OUT
- "Cannot load $module. Does it compile? Does it end with 1;?";
-
-can_ok $module, "new"
- or BAIL_OUT "Missing package $module or missing sub new()";
-can_ok $module, "largest"
- or BAIL_OUT "Missing package $module or missing sub largest()";
-can_ok $module, "smallest"
- or BAIL_OUT "Missing package $module or missing sub smallest()";
-
-my $palindrome;
-my ( $largest, $smallest );
-
-$palindrome = $module->new( { max_factor => 9 } );
-$largest = $palindrome->largest;
-is $largest->{value}, 9,
- "largest palindrome value from single digit factors";
-is_deeply(
- $largest->{factors},
- [ [ 1, 9 ], [ 3, 3 ] ],
- "largest single digit palindrome factors"
-) or diag explain $largest->{factors};
-
-$palindrome = $module->new( { max_factor => 99, min_factor => 10 } );
-$largest = $palindrome->largest;
-is $largest->{value}, 9009,
- "largest palindrome value from double digit factors";
-is_deeply(
- [ sort @{ $largest->{factors} } ],
- [ [ 91, 99 ] ],
- "largest double digit palindrome factors"
-) or diag explain $largest->{factors};
-
-#$palindrome
-# = $module->new( { max_factor => 999, min_factor => 100 } );
-#$largest = $palindrome->largest;
-#is $largest->{value}, 906609,
-# "largest palindrome value from triple digit factors";
-#is_deeply(
-# $largest->{factors},
-# [ [ 913, 993 ] ],
-# "largest triple digit palindrome factors"
-#) or diag explain $largest->{factors};
-#
-#$palindrome = $module->new( { max_factor => 99, min_factor => 10 } );
-#$smallest = $palindrome->smallest;
-#is $smallest->{value}, 121,
-# "smallest palindrome value from double digit factors";
-#is_deeply(
-# $smallest->{factors},
-# [ [ 11, 11 ] ],
-# "smallest double digit palindrome factors"
-#) or diag explain $smallest->{factors};
-#
-#$palindrome
-# = $module->new( { max_factor => 999, min_factor => 100 } );
-#$smallest = $palindrome->smallest;
-#is $smallest->{value}, 10201,
-# "smallest palindrome value from triple digit factors";
-#is_deeply(
-# $smallest->{factors},
-# [ [ 101, 101 ] ],
-# "smallest triple digit palindrome factors"
-#) or diag explain $smallest->{factors};