{"id":17882237,"url":"https://github.com/mackee/test-masterdata-declare","last_synced_at":"2025-07-09T09:07:44.462Z","repository":{"id":56836743,"uuid":"110633861","full_name":"mackee/Test-MasterData-Declare","owner":"mackee","description":"Test::MasterData::Declare is testing library for CSV(and row like structures) by DSL.","archived":false,"fork":false,"pushed_at":"2017-11-23T13:08:41.000Z","size":36,"stargazers_count":0,"open_issues_count":2,"forks_count":0,"subscribers_count":1,"default_branch":"master","last_synced_at":"2025-04-01T12:52:55.098Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"Perl","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"other","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/mackee.png","metadata":{"files":{"readme":"README.md","changelog":"Changes","contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2017-11-14T03:10:06.000Z","updated_at":"2017-11-17T02:58:23.000Z","dependencies_parsed_at":"2022-09-07T19:51:49.691Z","dependency_job_id":null,"html_url":"https://github.com/mackee/Test-MasterData-Declare","commit_stats":null,"previous_names":[],"tags_count":3,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mackee%2FTest-MasterData-Declare","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mackee%2FTest-MasterData-Declare/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mackee%2FTest-MasterData-Declare/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mackee%2FTest-MasterData-Declare/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/mackee","download_url":"https://codeload.github.com/mackee/Test-MasterData-Declare/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":246922246,"owners_count":20855345,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2024-10-28T12:49:01.871Z","updated_at":"2025-04-03T02:13:17.546Z","avatar_url":"https://github.com/mackee.png","language":"Perl","funding_links":[],"categories":[],"sub_categories":[],"readme":"# NAME\n\nTest::MasterData::Declare - It's testing tool for CSV (and other structures) by DSL.\n\n# SYNOPSIS\n\n    use Test::MasterData::Declare;\n\n    master_data {\n        load_csv item =\u003e \"master-data/item.csv\";\n\n        subtest \"item.type must be like a number and between 1 to 3\" =\u003e sub { \n            table item =\u003e \"type\",\n                like_number =\u003e 1 =\u003e 3;\n        };\n\n        subtest \"item.effect is json structure. effect.energy must be between 1 to 100\" =\u003e sub { \n            table item =\u003e \"effect\",\n                if_column type =\u003e 1,\n                json energy =\u003e\n                    like_number 1 =\u003e 100;\n        }\n    };\n\n# DESCRIPTION\n\n`Test::MasterData::Declare` is a testing tool for row like structures.\n\n**THE SOFTWARE IS IT'S IN ALPHA QUALITY. IT MAY CHANGE THE API WITHOUT NOTICE.**\n\n# FUNCTIONS\n\n## `master_data { ... }`\n\nThere functions are working only in this scope.\n\n## `load_csv $table_name =\u003e $csv_path, ...;`\n\nLoad csv from `$csv_path`. Loaded rows were referenced from `table`.\n\n## `table $table_name =\u003e $column_name, $filters_or_expects...`\n\nCheck column value. `$filters_or_expects` is a filter functions (ex. `if_column`), expections (ex. `$like_number`), scalar value, regexp reference, `Test2::Compare::*`, etc...\n\n## `if_column $column_name =\u003e $column_condition...`\n\nFilter checking rows. `$column_condition` is a scalar or Test2::Compare::\\*.\n\n## `like_number $begin =\u003e $end`\n\n## `like_number $expects`\n\nCheck value that like a number and between `$begin` to `$end` or equals `$expects`.\n\n## `json $key, $inner_key_or_index`\n\nInflate column to structure data by json.\n\n## `relation $from_table =\u003e $to_table, $from_column =\u003e $to_column`\n\nDeclare relation the `$drom_table` to `$to_table`.\n\n# LICENSE\n\nCopyright (C) mackee.\n\nThis library is free software; you can redistribute it and/or modify\nit under the same terms as Perl itself.\n\n# AUTHOR\n\nmackee a.k.a macopy \u003cmacopy123@gmail.com\u003e\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmackee%2Ftest-masterdata-declare","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fmackee%2Ftest-masterdata-declare","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmackee%2Ftest-masterdata-declare/lists"}