2
2
end
3
3
4
4
@mlj_model mutable struct U1 <: Unsupervised
5
+ a:: Int
6
+ b = sin
5
7
end
6
8
7
9
@mlj_model mutable struct D1 <: Deterministic
24
26
foo (:: P1 ) = 0
25
27
bar (:: P1 ) = nothing
26
28
29
+ M. package_name (:: Type{<:S1} ) = " Sibelius"
30
+ M. package_url (:: Type{<:S1} ) = " www.find_the_eighth.org"
31
+ M. human_name (:: Type{<:S1} ) = " silly model"
32
+
33
+ M. package_name (:: Type{<:U1} ) = " Bach"
34
+ M. package_url (:: Type{<:U1} ) = " www.did_he_write_565.com"
35
+ M. human_name (:: Type{<:U1} ) = " my model"
36
+
27
37
@testset " traits" begin
28
38
ms = S1 ()
29
- mu = U1 ()
39
+ mu = U1 (a = 42 , b = sin )
30
40
md = D1 ()
31
41
mp = P1 ()
32
42
mi = I1 ()
@@ -38,11 +48,11 @@ bar(::P1) = nothing
38
48
@test target_scitype (ms) == Unknown
39
49
@test is_pure_julia (ms) == false
40
50
41
- @test package_name (ms) == " unknown "
51
+ @test package_name (ms) == " Sibelius "
42
52
@test package_license (ms) == " unknown"
43
53
@test load_path (ms) == " unknown"
44
54
@test package_uuid (ms) == " unknown"
45
- @test package_url (ms) == " unknown "
55
+ @test package_url (ms) == " www.find_the_eighth.org "
46
56
47
57
@test is_wrapper (ms) == false
48
58
@test supports_online (ms) == false
@@ -51,8 +61,38 @@ bar(::P1) = nothing
51
61
52
62
@test hyperparameter_ranges (md) == (nothing ,)
53
63
54
- @test docstring (ms)[1 : 16 ] == " No documentation" [1 : 16 ]
64
+ @test docstring (ms) == M. doc_header (S1)
65
+ doc = docstring (mu) |> Markdown. parse
66
+ comparison =
67
+ """
68
+ ```
69
+ U1
70
+ ```
71
+
72
+ Model type for my model, based on [Bach.jl](www.did_he_write_565.com).
73
+
74
+ From MLJ, the type can be imported using
75
+
76
+ ```
77
+ U1 = @load U1 pkg=Bach
78
+ ```
79
+
80
+ Do `model = U1()` to construct an instance with default hyper-parameters.
81
+ Provide keyword arguments to override hyper-parameter defaults, as in
82
+ `U1(a=...)`.
83
+
84
+ ### Hyper-parameters
85
+
86
+ - `a = 0`
87
+
88
+ - `b = sin`
89
+
90
+ """ |> Markdown. parse
91
+ @test doc == comparison
92
+
55
93
@test name (ms) == " S1"
94
+ @test human_name (ms) == " silly model"
95
+
56
96
57
97
@test is_supervised (ms)
58
98
@test is_supervised (sa)
0 commit comments