tests/testthat/test-attribute.R

testthat::context(desc = "test attribute")


testthat::describe(
  description = "attribute result test",
  code = {
    segmentr <- rTinySegmenter::tiny_segmenter$new(
      text = "私の名前は中野です"
    )
    segmentr$tokenize()

    describe(
      description = "attribute unit",
      code = {
        it ("equall", {
          testthat::expect_equivalent(
            object = segmentr$model_attr$unit,
            expected = dplyr::data_frame(
              BC1 = c("OH", "HI", "IH", "HH", "HI", "IH", "HH", "HI"),
              BC2 = c("HI", "IH", "HH", "HI", "IH", "HH", "HI", "II"),
              BC3 = c("IH", "HH", "HI", "IH", "HH", "HI", "II", "IO"),
              BP1 = c("UU", "UU", "UB", "BB", "BO", "OB", "BB", "BO"),
              BP2 = c("UU", "UB", "BB", "BO", "OB", "BB", "BO", "OB"),
              BQ1 = c("UOH", "UHI", "BIH", "BHH", "OHI", "BIH", "BHH", "OHI"),
              BQ2 = c("UHI", "UIH", "BHH", "BHI", "OIH", "BHH", "BHI", "OII"),
              BQ3 = c("UOH", "BHI", "BIH", "OHH", "BHI", "BIH", "OHH", "BHI"),
              BQ4 = c("UHI", "BIH", "BHH", "OHI", "BIH", "BHH", "OHI", "BII"),
              BW1 = c("B1私", "私の", "の名", "名前", "前は", "は中", "中野", "野で"),
              BW2 = c("私の", "の名", "名前", "前は", "は中", "中野", "野で", "です"),
              BW3 = c("の名", "名前", "前は", "は中", "中野", "野で", "です", "すE1"),
              TC1 = c("OOH", "OHI", "HIH", "IHH", "HHI", "HIH", "IHH", "HHI"),
              TC2 = c("OHI", "HIH", "IHH", "HHI", "HIH", "IHH", "HHI", "HII"),
              TC3 = c("HIH", "IHH", "HHI", "HIH", "IHH", "HHI", "HII", "IIO"),
              TC4 = c("IHH", "HHI", "HIH", "IHH", "HHI", "HII", "IIO", "IOO"),
              TQ1 = c("UOOH", "UOHI", "BHIH", "BIHH", "OHHI", "BHIH", "BIHH", "OHHI"),
              TQ2 = c("UOHI", "UHIH", "BIHH", "BHHI", "OHIH", "BIHH", "BHHI", "OHII"),
              TQ3 = c("UOOH", "BOHI", "BHIH", "OIHH", "BHHI", "BHIH", "OIHH", "BHHI"),
              TQ4 = c("UOHI", "BHIH", "BIHH", "OHHI", "BHIH", "BIHH", "OHHI", "BHII"),
              TW1 = c("B2B1私", "B1私の", "私の名", "の名前", "名前は", "前は中", "は中野", "中野で"),
              TW2 = c("B1私の", "私の名", "の名前", "名前は", "前は中", "は中野", "中野で", "野です"),
              TW3 = c("私の名", "の名前", "名前は", "前は中", "は中野", "中野で", "野です", "ですE1"),
              TW4 = c("の名前", "名前は", "前は中", "は中野", "中野で", "野です", "ですE1", "すE1E2"),
              UC1 = c("O", "O", "H", "I", "H", "H", "I", "H"),
              UC2 = c("O", "H", "I", "H", "H", "I", "H", "H"),
              UC3 = c("H", "I", "H", "H", "I", "H", "H", "I"),
              UC4 = c("I", "H", "H", "I", "H", "H", "I", "I"),
              UC5 = c("H", "H", "I", "H", "H", "I", "I", "O"),
              UC6 = c("H", "I", "H", "H", "I", "I", "O", "O"),
              UP1 = c("U", "U", "U", "B", "B", "O", "B", "B"),
              UP2 = c("U", "U", "B", "B", "O", "B", "B", "O"),
              UP3 = c("U", "B", "B", "O", "B", "B", "O", "B"),
              UQ1 = c("UO", "UO", "UH", "BI", "BH", "OH", "BI", "BH"),
              UQ2 = c("UO", "UH", "BI", "BH", "OH", "BI", "BH", "OH"),
              UQ3 = c("UH", "BI", "BH", "OH", "BI", "BH", "OH", "BI"),
              UW1 = c("B2", "B1", "私", "の", "名", "前", "は", "中"),
              UW2 = c("B1", "私", "の", "名", "前", "は", "中", "野"),
              UW3 = c("私", "の", "名", "前", "は", "中", "野", "で"),
              UW4 = c("の", "名", "前", "は", "中", "野", "で", "す"),
              UW5 = c("名", "前", "は", "中", "野", "で", "す", "E1"),
              UW6 = c("前", "は", "中", "野", "で", "す", "E1", "E2")
            )
          )
        })
      }
    )

    describe(
      description = "attribute score",
      code = {
        it ("equall", {
          testthat::expect_equivalent(
            object = segmentr$model_attr$score,
            expected =  dplyr::data_frame(
              BC1 = c(-1378, 0, 0, 6, 0, 0, 6, 0),
              BC2 = c(0, -1184, -4070, 0, -1184, -4070, 0, -1332),
              BC3 = c(-301, 996, 626, -301, 996, 626, 0, 0),
              BP1 = c(0, 0, 352, 295, 0, 304, 295, 0),
              BP2 = c(0, 0, 0, 60, 0, 0, 60, 0),
              BQ1 = c(0, 0, 0, 1150, 451, 0, 1150, 451),
              BQ2 = c(-1146, 0, 118, -1159, 153, 118, -1159, 0),
              BQ3 = c(0, 2664, 0, 2174, 2664, 0, 2174, 2664),
              BQ4 = c(0, 3761, -3895, 0, 3761, -3895, 0, -4654),
              BW1 = c(0, 0, 0, 0, 0, 0, 0, 0),
              BW2 = c(0, 0, 0, 0, 0, 0, 0, -4761),
              BW3 = c(0, 0, 0, 0, 0, 0, 1437, 0),
              TC1 = c(0, 0, 0, 0, 0, 0, 0, 0),
              TC2 = c(0, 0, 0, 0, 0, 0, 0, -1023),
              TC3 = c(0, 128, -341, 0, 128, -341, -1088, 0),
              TC4 = c(695, 1344, 804, 695, 1344, 679, 656, 54),
              TQ1 = c(0, 0, -132, 60, 0, -132, 60, 0),
              TQ2 = c(0, 0, -1401, 0, 0, -1401, 0, 0),
              TQ3 = c(0, 0, 222, 623, 0, 222, 623, 0),
              TQ4 = c(0, 0, 0, 2446, 0, 0, 2446, -966),
              TW1 = c(0, 0, 0, 0, 0, 0, 0, 0),
              TW2 = c(0, 0, 0, 0, 0, 0, 0, 0),
              TW3 = c(0, 0, 0, 0, 0, 0, 0, 0),
              TW4 = c(0, 0, 0, 0, 0, 0, 0, 0),
              UC1 = c(-505, -505, 0, 0, 0, 0, 0, 0),
              UC2 = c(646, 1059, 409, 1059, 1059, 409, 1059, 1059),
              UC3 = c(0, 2311, 0, 0, 2311, 0, 0, 2311),
              UC4 = c(-1032, 1809, 1809, -1032, 1809, 1809, -1032, -1032),
              UC5 = c(313, 313, -1238, 313, 313, -1238, -1238, -831),
              UC6 = c(-506, -253, -506, -506, -253, -253, -387, -387),
              UP1 = c(0, 0, 0, 0, 0, -214, 0, 0),
              UP2 = c(0, 0, 69, 69, 935, 69, 69, 935),
              UP3 = c(0, 189, 189, 0, 189, 189, 0, 189),
              UQ1 = c(0, 0, 0, -12, 21, -95, -12, 21),
              UQ2 = c(0, 0, 113, 216, 0, 113, 216, 0),
              UQ3 = c(0, 1913, 42, 0, 1913, 42, 0, 1913),
              UW1 = c(0, 0, 0, -185, 0, 0, -847, 0),
              UW2 = c(0, 0, 130, 0, 0, -409, -968, 0),
              UW3 = c(4231, 4056, 0, 2286, 4555, 653, 0, 2318),
              UW4 = c(7396, 0, 1623, 8578, 2210, -1100, 7410, -731),
              UW5 = c(0, 0, -578, -871, 0, -850, -852, 0),
              UW6 = c(302, -236, 201, 0, 101, 383, 306, 0)
            )
          )
        })
      }
    )
  }
)
yamano357/rTinySegmenter documentation built on May 4, 2019, 2:28 p.m.