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
|
defmodule MusicLibrary.Colors.KMeansExtractorTest do
|
||||||
use ExUnit.Case
|
use ExUnit.Case
|
||||||
|
|
||||||
|
import MusicLibrary.ColorHelpers, only: [color_hex?: 1]
|
||||||
|
|
||||||
alias MusicLibrary.Colors.KMeansExtractor
|
alias MusicLibrary.Colors.KMeansExtractor
|
||||||
|
|
||||||
@image_data MusicLibrary.Fixtures.Records.marbles_cover_data()
|
@image_data MusicLibrary.Fixtures.Records.marbles_cover_data()
|
||||||
|
|
||||||
describe "extract_dominant_colors/1" do
|
describe "extract_dominant_colors/1" do
|
||||||
test "extracts 5 colors by default" do
|
test "extracts 5 colors by default" do
|
||||||
assert {:ok, ["#101111", "#d3b696", "#836246", "#5d412d", "#3c2e22"]} ==
|
assert {:ok, colors} = KMeansExtractor.extract_dominant_colors(@image_data)
|
||||||
KMeansExtractor.extract_dominant_colors(@image_data)
|
assert length(colors) == 5
|
||||||
|
assert Enum.all?(colors, &color_hex?/1)
|
||||||
end
|
end
|
||||||
|
|
||||||
test "extracts custom number of colors" do
|
test "extracts custom number of colors" do
|
||||||
assert {:ok, ["#101111", "#d3b696", "#836246"]} ==
|
assert {:ok, colors} = KMeansExtractor.extract_dominant_colors(@image_data, 3)
|
||||||
KMeansExtractor.extract_dominant_colors(@image_data, 3)
|
assert length(colors) == 3
|
||||||
|
assert Enum.all?(colors, &color_hex?/1)
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|||||||
@@ -3,6 +3,7 @@ defmodule MusicLibrary.RecordsTest do
|
|||||||
|
|
||||||
import MusicBrainz.Fixtures.Release
|
import MusicBrainz.Fixtures.Release
|
||||||
import MusicBrainz.Fixtures.ReleaseGroup
|
import MusicBrainz.Fixtures.ReleaseGroup
|
||||||
|
import MusicLibrary.ColorHelpers, only: [color_hex?: 1]
|
||||||
import MusicLibrary.Fixtures.Records
|
import MusicLibrary.Fixtures.Records
|
||||||
|
|
||||||
alias MusicLibrary.Assets
|
alias MusicLibrary.Assets
|
||||||
@@ -46,13 +47,8 @@ defmodule MusicLibrary.RecordsTest do
|
|||||||
assert record.cover_hash ==
|
assert record.cover_hash ==
|
||||||
"599407DDF69907D4A60FE13CCAA824D25CF08DC124FD6AA3E8E7ECD98C885FFE"
|
"599407DDF69907D4A60FE13CCAA824D25CF08DC124FD6AA3E8E7ECD98C885FFE"
|
||||||
|
|
||||||
assert record.dominant_colors == [
|
assert length(record.dominant_colors) == 5
|
||||||
"#101111",
|
assert Enum.all?(record.dominant_colors, &color_hex?/1)
|
||||||
"#d3b696",
|
|
||||||
"#836246",
|
|
||||||
"#5d412d",
|
|
||||||
"#3c2e22"
|
|
||||||
]
|
|
||||||
end
|
end
|
||||||
|
|
||||||
test "it queues a task to retrieve artist info data" do
|
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