From 179ea178c0a2e632fb20a9875bbc26519c794eaa Mon Sep 17 00:00:00 2001 From: Matt Nadareski Date: Thu, 16 Jan 2025 20:22:21 -0500 Subject: [PATCH] Add RemoveBucket tests --- .../ItemDictionaryDBTests.cs | 24 ++++++++++++++++++- .../ItemDictionaryTests.cs | 24 +++++++++++++++++-- 2 files changed, 45 insertions(+), 3 deletions(-) diff --git a/SabreTools.DatFiles.Test/ItemDictionaryDBTests.cs b/SabreTools.DatFiles.Test/ItemDictionaryDBTests.cs index 7529e710..6b1d66f8 100644 --- a/SabreTools.DatFiles.Test/ItemDictionaryDBTests.cs +++ b/SabreTools.DatFiles.Test/ItemDictionaryDBTests.cs @@ -301,7 +301,29 @@ namespace SabreTools.DatFiles.Test #region RemoveBucket - // TODO: Add RemoveBucket tests + [Fact] + public void RemoveBucketTest() + { + Source source = new Source(0, source: null); + + Machine machine = new Machine(); + machine.SetFieldValue(Models.Metadata.Machine.NameKey, "game-1"); + + DatItem datItem = new Rom(); + datItem.SetName("rom-1"); + datItem.SetFieldValue(Models.Metadata.Rom.CRCKey, "DEADBEEF"); + datItem.SetFieldValue(Models.Metadata.Rom.SHA1Key, "0000000fbbb37f8488100b1b4697012de631a5e6"); + datItem.SetFieldValue(Models.Metadata.Rom.SizeKey, "1024"); + + var dict = new ItemDictionaryDB(); + long sourceIndex = dict.AddSource(source); + long machineIndex = dict.AddMachine(machine); + dict.AddItem(datItem, machineIndex, sourceIndex, statsOnly: false); + + dict.RemoveBucket("game-1"); + + Assert.Empty(dict.GetItemsForBucket("game-1")); + } #endregion diff --git a/SabreTools.DatFiles.Test/ItemDictionaryTests.cs b/SabreTools.DatFiles.Test/ItemDictionaryTests.cs index ebd2cdd7..bb1f8557 100644 --- a/SabreTools.DatFiles.Test/ItemDictionaryTests.cs +++ b/SabreTools.DatFiles.Test/ItemDictionaryTests.cs @@ -40,7 +40,7 @@ namespace SabreTools.DatFiles.Test rom2.SetFieldValue(DatItem.RemoveKey, true); rom2.SetFieldValue(Models.Metadata.Rom.SHA1Key, "000000e948edcb4f7704b8af85a77a3339ecce44"); rom2.SetFieldValue(Models.Metadata.Rom.SizeKey, "1024"); - rom1.CopyMachineInformation(machine); + rom2.CopyMachineInformation(machine); // Setup the dictionary var dict = new ItemDictionary(); @@ -163,7 +163,27 @@ namespace SabreTools.DatFiles.Test #region RemoveBucket - // TODO: Add RemoveBucket tests + [Fact] + public void RemoveBucketTest() + { + Machine machine = new Machine(); + machine.SetFieldValue(Models.Metadata.Machine.NameKey, "game-1"); + + DatItem datItem = new Rom(); + datItem.SetName("rom-1"); + datItem.SetFieldValue(Models.Metadata.Rom.CRCKey, "DEADBEEF"); + datItem.SetFieldValue(Models.Metadata.Rom.SHA1Key, "0000000fbbb37f8488100b1b4697012de631a5e6"); + datItem.SetFieldValue(Models.Metadata.Rom.SizeKey, "1024"); + datItem.CopyMachineInformation(machine); + + var dict = new ItemDictionary(); + dict.AddItem(datItem, statsOnly: false); + + dict.RemoveBucket("game-1"); + + Assert.Empty(dict.GetItemsForBucket("default")); + Assert.Empty(dict.GetItemsForBucket("game-1")); + } #endregion