import os import metadata // Проверка чтения id3v23 fn test_idv3v23() { mut audio := os.open("./data/test_id3v23.mp3") or { panic(err) } defer { audio.close() } mut wav := metadata.Audio{} wav.detect_tags(mut audio) assert wav.id3v1.embedded == false, 'Тег показан false, а должен быть true' assert wav.id3v23.embedded == true, 'Тег показан true, а должен быть false' assert wav.id3v24.embedded == false, 'Тег показан true, а должен быть false' wav.id3v23.get_full_size(mut audio) wav.id3v23.fill_tags(mut audio) assert wav.id3v23.tit2.data == "Test Title" assert wav.id3v23.tpe1.data == "Test Author" assert wav.id3v23.tpe2.data == "Test Narator" assert wav.id3v23.talb.data == "Test Album" assert wav.id3v23.tyer.data == "2026" assert wav.id3v23.trck.data == "6/7" assert wav.id3v23.tcon.data == "Rock" assert wav.id3v23.tcop.data == "Test" assert wav.id3v23.txxx.data == "comment" id3v1 := wav.id3v23.to_v1() assert id3v1.genre == "Rock" assert id3v1.title == "Test Title" assert id3v1.artist == "Test Narator" assert id3v1.album == "Test Album" assert id3v1.track == "6" assert id3v1.year == "2026" assert id3v1.comment == "comment" } // Проверка чтения id3v24 fn test_idv3v24() { mut audio := os.open("./data/test_id3v24.mp3") or { panic(err) } defer { audio.close() } mut wav := metadata.Audio{} wav.detect_tags(mut audio) assert wav.id3v1.embedded == false, 'Тег показан false, а должен быть true' assert wav.id3v23.embedded == false, 'Тег показан true, а должен быть false' assert wav.id3v24.embedded == true, 'Тег показан true, а должен быть false' wav.id3v24.get_full_size(mut audio) wav.id3v24.fill_tags(mut audio) assert wav.id3v24.tit2.data == "Test Title" assert wav.id3v24.tpe1.data == "Test Author" assert wav.id3v24.tpe2.data == "Test Narator" assert wav.id3v24.talb.data == "Test Album" assert wav.id3v24.tdrc.data == "2026" assert wav.id3v24.trck.data == "6/7" assert wav.id3v24.tcon.data == "Rock" assert wav.id3v24.tcop.data == "Test" assert wav.id3v24.txxx.data == "comment" id3v1 := wav.id3v24.to_v1() assert id3v1.genre == "Rock" assert id3v1.title == "Test Title" assert id3v1.artist == "Test Narator" assert id3v1.album == "Test Album" assert id3v1.track == "6" assert id3v1.year == "2026" assert id3v1.comment == "comment" }