]> git.lizzy.rs Git - go-anidb.git/blob - misc/episode_test.go
33116fc5350b16de2592b673467342ad137c7bc1
[go-anidb.git] / misc / episode_test.go
1 package misc_test
2
3 import (
4         "fmt"
5         "github.com/Kovensky/go-anidb/misc"
6 )
7
8 func ExampleParseEpisode() {
9         fmt.Printf("%#v\n", misc.ParseEpisode("1"))
10         fmt.Printf("%#v\n", misc.ParseEpisode("S2"))
11         fmt.Printf("%#v\n", misc.ParseEpisode("03"))
12         fmt.Printf("%#v\n", misc.ParseEpisode("")) // invalid episode
13
14         // Output:
15         // &misc.Episode{Type:1, Number:1, Part:-1, Parts:0}
16         // &misc.Episode{Type:2, Number:2, Part:-1, Parts:0}
17         // &misc.Episode{Type:1, Number:3, Part:-1, Parts:0}
18         // (*misc.Episode)(nil)
19 }
20
21 func ExampleParseEpisodeRange() {
22         fmt.Println(misc.ParseEpisodeRange("01"))
23         fmt.Println(misc.ParseEpisodeRange("S1-")) // endless range
24         fmt.Println(misc.ParseEpisodeRange("T1-T3"))
25         fmt.Println(misc.ParseEpisodeRange("5-S3")) // different episode types in range
26         fmt.Println(misc.ParseEpisodeRange(""))     // invalid start of range
27
28         // Output:
29         // 1
30         // S1-
31         // T1-T3
32         // <nil>
33         // <nil>
34 }
35
36 func ExamplePartialEpisode() {
37         eps := []*misc.Episode{
38                 misc.ParseEpisode("1.0"),
39                 misc.ParseEpisode("1.1"),
40         }
41         for _, ep := range eps {
42                 fmt.Printf("%#v %s\n", ep, ep)
43         }
44         for _, ep := range eps {
45                 ep.Parts = 2
46                 fmt.Printf("%s\n", ep)
47         }
48
49         // Output:
50         // &misc.Episode{Type:1, Number:1, Part:0, Parts:0} 1.0
51         // &misc.Episode{Type:1, Number:1, Part:1, Parts:0} 1.1
52         // 1.00
53         // 1.50
54 }