Reorganize directory
This commit is contained in:
parent
12dce591bb
commit
10e3e1f745
26 changed files with 371 additions and 477 deletions
79
file_processing/t/01-subroutines.t
Normal file
79
file_processing/t/01-subroutines.t
Normal file
|
|
@ -0,0 +1,79 @@
|
|||
use Test2::V0;
|
||||
use Test2::Plugin::Times;
|
||||
use Test2::Plugin::ExitSummary;
|
||||
use Test2::Plugin::NoWarnings;
|
||||
use FindBin qw($Bin);
|
||||
use File::Path::Tiny;
|
||||
use Time::Piece qw/localtime/;
|
||||
|
||||
use lib "$Bin/../lib";
|
||||
use ProcessDirectories;
|
||||
|
||||
|
||||
plan(2);
|
||||
|
||||
# Preconditions
|
||||
my $now = localtime;
|
||||
my $year = $now->year;
|
||||
my $lastyear = $now->add_years(-1)->year;
|
||||
diag("Current year: $year Last year: $lastyear\n");
|
||||
|
||||
## Define and create test source folder
|
||||
my $current_year_dir = 't/current_year/';
|
||||
my $archive_folder = 't/1_archives/';
|
||||
my $prev_year_dir = $archive_folder . $lastyear . '_Archives';
|
||||
diag("Source test dir $current_year_dir Dest test dir $prev_year_dir");
|
||||
|
||||
if(!File::Path::Tiny::mk($current_year_dir)) {
|
||||
die "Could not create test source directory: '$current_year_dir': $!";
|
||||
}
|
||||
|
||||
my @test_files = qw( 2003_file-1 2003_file-2 2002_file-1 2002_file-2 2002_file-3 );
|
||||
for my $file (@test_files) {
|
||||
create_file($current_year_dir . '/' . $file);
|
||||
}
|
||||
|
||||
# Begin testing
|
||||
ProcessDirectories::create_archive_dirs( $current_year_dir, $prev_year_dir );
|
||||
ok( ( -d $prev_year_dir ), "Previous year archive directory was created" );
|
||||
|
||||
|
||||
ok( ProcessDirectories::compare_dirs( $current_year_dir, $prev_year_dir ), "Previous year archive directory contents matches current directory contents" );
|
||||
|
||||
|
||||
# clean_dirs
|
||||
|
||||
# End Testing
|
||||
|
||||
# Cleanup
|
||||
# if(!File::Path::Tiny::rm($current_year_dir)) {
|
||||
# die "Could not remove test source directory: '$current_year_dir': $!";
|
||||
# }
|
||||
# if(!File::Path::Tiny::rm($archive_folder)) {
|
||||
# die "Could not remove test archive directory: '$archive_folder': $!";
|
||||
# }
|
||||
|
||||
sub create_file {
|
||||
my $filepath = shift;
|
||||
open (my $fh, ">", $filepath) or die "Can't open file '$filepath' for writing: $!";
|
||||
|
||||
# you can control the range of characters here
|
||||
my $minimum = 4;
|
||||
my $range = 16;
|
||||
my $num_bytes = '100';
|
||||
|
||||
for (my $bytes = 0; $bytes < $num_bytes; $bytes += 4) {
|
||||
my $rand = int(rand($range ** 4));
|
||||
my $string = '';
|
||||
for (1..4) {
|
||||
$string .= chr($rand % $range + $minimum);
|
||||
$rand = int($rand / $range);
|
||||
}
|
||||
print $fh $string;
|
||||
}
|
||||
|
||||
close($fh) or warn "Can't close file '$filepath': $!";
|
||||
|
||||
|
||||
return;
|
||||
}
|
||||
Loading…
Add table
Add a link
Reference in a new issue