add: import 100 run results + more

- master log parser to get run info
- test for master log parser
- master log reader
- note field for single run
- fix datetime manipulation for single result table
This commit is contained in:
Wataru Otsubo 2024-09-13 13:39:51 +09:00 committed by qwjyh
parent f5e6caf936
commit 21f38e83db
9 changed files with 1505 additions and 16 deletions

View file

@ -1,14 +1,32 @@
using Test
using PSBoardDataBase
using CSV, DataFrames
using Dates
true || include("../src/PSBoardDataBase.jl")
@testset "PSBoardDataBase" begin
@testset "parse master log" begin
masterlog_metadata::PSBoardDataBase.QaqcMasterLog.QaqcMasterLogMetadata =
PSBoardDataBase.QaqcMasterLog.parse_master_log("input/log/57_long.log")
@test masterlog_metadata.shifters == "Otsubo"
@test masterlog_metadata.timestamp == DateTime(2024, 07, 26, 10, 33, 05)
@test masterlog_metadata.runid == 57
@test masterlog_metadata.shiftscript_version == v"1.0.2"
end
@testset "prepare dataframe" begin
single_result_df =
CSV.read("input/PS board QAQC Data Base - 本番1回試験・追加検証試験.csv", DataFrame)
@test PSBoardDataBase.prepare_single_result_df(single_result_df) isa DataFrame
@test PSBoardDataBase.prepare_dispatch_table(
CSV.read("input/PS board QAQC Data Base - 出荷.csv", DataFrame),
) isa DataFrame
@test PSBoardDataBase.prepare_100test_table(
CSV.read("input/PS board QAQC Data Base - 100回試験結果.csv", DataFrame),
) isa DataFrame
end
@testset "full integrated test" begin
@ -23,8 +41,6 @@ true || include("../src/PSBoardDataBase.jl")
CSV.read("input/PS board QAQC Data Base - 本番1回試験・追加検証試験.csv", DataFrame)
runlist_table = CSV.read("input/PS board QAQC Data Base - RUNLIST.csv", DataFrame)
@test PSBoardDataBase.prepare_single_result_df(single_result_df) isa DataFrame
@test PSBoardDataBase.add_psboard_ids(db, single_result_df) |> isnothing
@test PSBoardDataBase.add_qaqc_runlist(db, runlist_table) |> isnothing
@ -33,7 +49,16 @@ true || include("../src/PSBoardDataBase.jl")
dispatch_table = CSV.read("input/PS board QAQC Data Base - 出荷.csv", DataFrame)
@test PSBoardDataBase.add_qaqcdispatch(db, dispatch_table) |> isnothing
@test PSBoardDataBase.add_qaqc_dispatch(db, dispatch_table) |> isnothing
@test PSBoardDataBase.add_qaqc_runlist_from_masterlogs(db, "input/log/") |>
isnothing
extra_100test_result_df =
CSV.read("input/PS board QAQC Data Base - 100回試験結果.csv", DataFrame)
@test PSBoardDataBase.add_qaqc_100test_result(db, extra_100test_result_df) |>
isnothing
run(`sqlitebrowser $dbpath`)
end