Remove obsolete color extraction strategies
This commit is contained in:
@@ -1,34 +0,0 @@
|
||||
defmodule MusicLibrary.Colors.ColorFrequencyExtractorTest do
|
||||
use ExUnit.Case
|
||||
|
||||
alias MusicLibrary.Colors.ColorFrequencyExtractor
|
||||
|
||||
@image_data MusicLibrary.Fixtures.Records.marbles_cover_data()
|
||||
|
||||
describe "extract_dominant_colors/1" do
|
||||
@describetag :slow
|
||||
|
||||
test "extracts colors from an image" do
|
||||
assert {:ok, colors} = ColorFrequencyExtractor.extract_dominant_colors(@image_data)
|
||||
|
||||
assert is_list(colors)
|
||||
assert colors == ["#000000", "#C08080", "#400000", "#C0C0C0", "#404000"]
|
||||
end
|
||||
|
||||
test "extracts custom number of colors" do
|
||||
assert {:ok, colors} = ColorFrequencyExtractor.extract_dominant_colors(@image_data, 3)
|
||||
|
||||
assert colors == ["#000000", "#C08080", "#400000"]
|
||||
end
|
||||
end
|
||||
|
||||
describe "extract_dominant_colors!/1" do
|
||||
@describetag :slow
|
||||
|
||||
test "extracts colors or raises" do
|
||||
colors = ColorFrequencyExtractor.extract_dominant_colors!(@image_data)
|
||||
|
||||
assert colors == ["#000000", "#C08080", "#400000", "#C0C0C0", "#404000"]
|
||||
end
|
||||
end
|
||||
end
|
||||
@@ -1,32 +0,0 @@
|
||||
defmodule MusicLibrary.Colors.EdgeWeightedExtractorTest do
|
||||
use ExUnit.Case
|
||||
|
||||
alias MusicLibrary.Colors.EdgeWeightedExtractor
|
||||
|
||||
@image_data MusicLibrary.Fixtures.Records.marbles_cover_data()
|
||||
|
||||
describe "extract_dominant_colors/1" do
|
||||
@describetag :slow
|
||||
test "extracts colors from an image" do
|
||||
assert {:ok, colors} =
|
||||
EdgeWeightedExtractor.extract_dominant_colors(@image_data)
|
||||
|
||||
assert colors == ["#000000", "#A07850", "#785028", "#502828", "#C8A078"]
|
||||
end
|
||||
|
||||
test "extracts custom number of colors" do
|
||||
assert {:ok, colors} = EdgeWeightedExtractor.extract_dominant_colors(@image_data, 3)
|
||||
|
||||
assert colors == ["#000000", "#A07850", "#785028"]
|
||||
end
|
||||
end
|
||||
|
||||
describe "extract_dominant_colors!/1" do
|
||||
@describetag :slow
|
||||
test "extracts colors or raises" do
|
||||
colors = EdgeWeightedExtractor.extract_dominant_colors!(@image_data)
|
||||
|
||||
assert colors == ["#000000", "#A07850", "#785028", "#502828", "#C8A078"]
|
||||
end
|
||||
end
|
||||
end
|
||||
@@ -0,0 +1,19 @@
|
||||
defmodule MusicLibrary.Colors.KMeansExtractorTest do
|
||||
use ExUnit.Case
|
||||
|
||||
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)
|
||||
end
|
||||
|
||||
test "extracts custom number of colors" do
|
||||
assert {:ok, ["#101111", "#d3b696", "#836246"]} ==
|
||||
KMeansExtractor.extract_dominant_colors(@image_data, 3)
|
||||
end
|
||||
end
|
||||
end
|
||||
@@ -47,11 +47,11 @@ defmodule MusicLibrary.RecordsTest do
|
||||
"599407DDF69907D4A60FE13CCAA824D25CF08DC124FD6AA3E8E7ECD98C885FFE"
|
||||
|
||||
assert record.dominant_colors == [
|
||||
"#000000",
|
||||
"#C0C0C0",
|
||||
"#C08080",
|
||||
"#404000",
|
||||
"#804040"
|
||||
"#101111",
|
||||
"#d3b696",
|
||||
"#836246",
|
||||
"#5d412d",
|
||||
"#3c2e22"
|
||||
]
|
||||
end
|
||||
|
||||
|
||||
@@ -1,38 +0,0 @@
|
||||
defmodule MusicLibrary.Worker.ExtractColorsTest do
|
||||
use MusicLibrary.DataCase
|
||||
|
||||
import MusicLibrary.Fixtures.Records
|
||||
|
||||
alias MusicLibrary.Records
|
||||
alias MusicLibrary.Worker.ExtractColors
|
||||
|
||||
describe "perform/1" do
|
||||
@describetag :slow
|
||||
test "extracts colors using fast method" do
|
||||
record = record()
|
||||
|
||||
assert :ok = perform_job(ExtractColors, %{"id" => record.id, "method" => "fast"})
|
||||
|
||||
updated = Records.get_record!(record.id)
|
||||
assert is_list(updated.dominant_colors)
|
||||
assert updated.dominant_colors != []
|
||||
assert Enum.all?(updated.dominant_colors, &String.starts_with?(&1, "#"))
|
||||
end
|
||||
|
||||
test "extracts colors using slow method" do
|
||||
record = record()
|
||||
|
||||
assert :ok = perform_job(ExtractColors, %{"id" => record.id, "method" => "slow"})
|
||||
|
||||
updated = Records.get_record!(record.id)
|
||||
assert is_list(updated.dominant_colors)
|
||||
assert updated.dominant_colors != []
|
||||
end
|
||||
|
||||
test "raises when record does not exist" do
|
||||
assert_raise Ecto.NoResultsError, fn ->
|
||||
perform_job(ExtractColors, %{"id" => Ecto.UUID.generate(), "method" => "fast"})
|
||||
end
|
||||
end
|
||||
end
|
||||
end
|
||||
@@ -1,3 +1,3 @@
|
||||
ExUnit.start(exclude: [:slow])
|
||||
ExUnit.start()
|
||||
Ecto.Adapters.SQL.Sandbox.mode(MusicLibrary.Repo, :manual)
|
||||
Ecto.Adapters.SQL.Sandbox.mode(MusicLibrary.BackgroundRepo, :manual)
|
||||
|
||||
Reference in New Issue
Block a user