Relax assertions on colors
As dominant colors are not stable on different environments
This commit is contained in:
@@ -1,19 +1,23 @@
|
||||
defmodule MusicLibrary.Colors.KMeansExtractorTest do
|
||||
use ExUnit.Case
|
||||
|
||||
import MusicLibrary.ColorHelpers, only: [color_hex?: 1]
|
||||
|
||||
alias MusicLibrary.Colors.KMeansExtractor
|
||||
|
||||
@image_data MusicLibrary.Fixtures.Records.marbles_cover_data()
|
||||
|
||||
describe "extract_dominant_colors/1" do
|
||||
test "extracts 5 colors by default" do
|
||||
assert {:ok, ["#101111", "#d3b696", "#836246", "#5d412d", "#3c2e22"]} ==
|
||||
KMeansExtractor.extract_dominant_colors(@image_data)
|
||||
assert {:ok, colors} = KMeansExtractor.extract_dominant_colors(@image_data)
|
||||
assert length(colors) == 5
|
||||
assert Enum.all?(colors, &color_hex?/1)
|
||||
end
|
||||
|
||||
test "extracts custom number of colors" do
|
||||
assert {:ok, ["#101111", "#d3b696", "#836246"]} ==
|
||||
KMeansExtractor.extract_dominant_colors(@image_data, 3)
|
||||
assert {:ok, colors} = KMeansExtractor.extract_dominant_colors(@image_data, 3)
|
||||
assert length(colors) == 3
|
||||
assert Enum.all?(colors, &color_hex?/1)
|
||||
end
|
||||
end
|
||||
end
|
||||
|
||||
@@ -3,6 +3,7 @@ defmodule MusicLibrary.RecordsTest do
|
||||
|
||||
import MusicBrainz.Fixtures.Release
|
||||
import MusicBrainz.Fixtures.ReleaseGroup
|
||||
import MusicLibrary.ColorHelpers, only: [color_hex?: 1]
|
||||
import MusicLibrary.Fixtures.Records
|
||||
|
||||
alias MusicLibrary.Assets
|
||||
@@ -46,13 +47,8 @@ defmodule MusicLibrary.RecordsTest do
|
||||
assert record.cover_hash ==
|
||||
"599407DDF69907D4A60FE13CCAA824D25CF08DC124FD6AA3E8E7ECD98C885FFE"
|
||||
|
||||
assert record.dominant_colors == [
|
||||
"#101111",
|
||||
"#d3b696",
|
||||
"#836246",
|
||||
"#5d412d",
|
||||
"#3c2e22"
|
||||
]
|
||||
assert length(record.dominant_colors) == 5
|
||||
assert Enum.all?(record.dominant_colors, &color_hex?/1)
|
||||
end
|
||||
|
||||
test "it queues a task to retrieve artist info data" do
|
||||
|
||||
@@ -0,0 +1,12 @@
|
||||
defmodule MusicLibrary.ColorHelpers do
|
||||
@doc """
|
||||
Returns true if the given string is a valid lowercase hex color code.
|
||||
|
||||
iex> MusicLibrary.ColorHelpers.color_hex?("#d3b696")
|
||||
true
|
||||
|
||||
iex> MusicLibrary.ColorHelpers.color_hex?("not a color")
|
||||
false
|
||||
"""
|
||||
def color_hex?(value), do: String.match?(value, ~r/^#[0-9a-f]{6}$/)
|
||||
end
|
||||
Reference in New Issue
Block a user