mirror of
https://github.com/SabreTools/SabreTools.Serialization.git
synced 2026-04-05 22:01:33 +00:00
142 lines
6.8 KiB
C#
142 lines
6.8 KiB
C#
using SabreTools.Data.Models.Atari7800;
|
|
using Xunit;
|
|
|
|
namespace SabreTools.Data.Extensions.Test
|
|
{
|
|
public class Atari7800CartExtensionsTests
|
|
{
|
|
[Theory]
|
|
[InlineData((AudioDevice)0, "POKEY - none, No YM2151 @460, No COVOX @430, No ADPCM Audio Stream @420")]
|
|
// POKEY
|
|
[InlineData(AudioDevice.Pokey440, "POKEY - @440, No YM2151 @460, No COVOX @430, No ADPCM Audio Stream @420")]
|
|
[InlineData(AudioDevice.Pokey450, "POKEY - @450, No YM2151 @460, No COVOX @430, No ADPCM Audio Stream @420")]
|
|
[InlineData(AudioDevice.Pokey450Plus440, "POKEY - @450+@440, No YM2151 @460, No COVOX @430, No ADPCM Audio Stream @420")]
|
|
[InlineData(AudioDevice.Pokey800, "POKEY - @800, No YM2151 @460, No COVOX @430, No ADPCM Audio Stream @420")]
|
|
[InlineData(AudioDevice.Pokey4000, "POKEY - @4000, No YM2151 @460, No COVOX @430, No ADPCM Audio Stream @420")]
|
|
[InlineData((AudioDevice)0x0007, "Unknown 7, No YM2151 @460, No COVOX @430, No ADPCM Audio Stream @420")]
|
|
// YM2151
|
|
[InlineData(AudioDevice.YM2151460, "POKEY - none, YM2151 @460, No COVOX @430, No ADPCM Audio Stream @420")]
|
|
// COVOX
|
|
[InlineData(AudioDevice.COVOX430, "POKEY - none, No YM2151 @460, COVOX @430, No ADPCM Audio Stream @420")]
|
|
// ADPCM
|
|
[InlineData(AudioDevice.ADPCMAudioStream420, "POKEY - none, No YM2151 @460, No COVOX @430, ADPCM Audio Stream @420")]
|
|
public void FromAudioDeviceTest(AudioDevice audio, string expected)
|
|
{
|
|
string actual = audio.FromAudioDevice();
|
|
Assert.Equal(expected, actual);
|
|
}
|
|
|
|
[Theory]
|
|
[InlineData((CartType)0, "N/A")]
|
|
[InlineData(CartType.PokeyAt4000, "pokey at $4000")]
|
|
[InlineData(CartType.SupergameBankSwitched, "supergame bank switched")]
|
|
[InlineData(CartType.SupergameRamAt4000, "supergame ram at $4000")]
|
|
[InlineData(CartType.RomAt4000, "rom at $4000")]
|
|
[InlineData(CartType.Bank6At4000, "bank 6 at $4000")]
|
|
[InlineData(CartType.BankedRam, "banked ram")]
|
|
[InlineData(CartType.PokeyAt450, "pokey at $450")]
|
|
[InlineData(CartType.MirrorRamAt4000, "mirror ram at $4000")]
|
|
[InlineData(CartType.ActivisionBanking, "activision banking")]
|
|
[InlineData(CartType.AbsoluteBanking, "absolute banking")]
|
|
[InlineData(CartType.PokeyAt440, "pokey at $440")]
|
|
[InlineData(CartType.Ym2151At460461, "ym2151 at $460/$461")]
|
|
[InlineData(CartType.Souper, "souper")]
|
|
[InlineData(CartType.Banksets, "banksets")]
|
|
[InlineData(CartType.HaltBankedRam, "halt banked ram")]
|
|
[InlineData(CartType.PokeyAt800, "pokey@800")]
|
|
public void FromCartTypeTest(CartType type, string expected)
|
|
{
|
|
string actual = type.FromCartType();
|
|
Assert.Equal(expected, actual);
|
|
}
|
|
|
|
[Theory]
|
|
[InlineData(ControllerType.None, "none")]
|
|
[InlineData(ControllerType.Joystick, "7800 joystick")]
|
|
[InlineData(ControllerType.Lightgun, "lightgun")]
|
|
[InlineData(ControllerType.Paddle, "paddle")]
|
|
[InlineData(ControllerType.Trakball, "trakball")]
|
|
[InlineData(ControllerType.VcsJoystick, "2600 joystick")]
|
|
[InlineData(ControllerType.VcsDriving, "2600 driving")]
|
|
[InlineData(ControllerType.VcsKeypad, "2600 keypad")]
|
|
[InlineData(ControllerType.STMouse, "ST mouse")]
|
|
[InlineData(ControllerType.AmigaMouse, "Amiga mouse")]
|
|
[InlineData(ControllerType.AtariVoxSaveKey, "AtariVox/SaveKey")]
|
|
[InlineData(ControllerType.SNES2Atari, "SNES2Atari")]
|
|
[InlineData(ControllerType.Mega7800, "Mega7800")]
|
|
public void FromControllerTypeTest(ControllerType type, string expected)
|
|
{
|
|
string actual = type.FromControllerType();
|
|
Assert.Equal(expected, actual);
|
|
}
|
|
|
|
[Theory]
|
|
[InlineData(Interrupt.None, "None")]
|
|
[InlineData(Interrupt.Pokey1, "POKEY 1 (@450 | @800 | @4000)")]
|
|
[InlineData(Interrupt.Pokey2, "POKEY 2 (@440)")]
|
|
[InlineData(Interrupt.YM2151, "YM2151")]
|
|
public void FromInterruptTest(Interrupt interrupt, string expected)
|
|
{
|
|
string actual = interrupt.FromInterrupt();
|
|
Assert.Equal(expected, actual);
|
|
}
|
|
|
|
[Theory]
|
|
[InlineData(Mapper.Linear, "Linear")]
|
|
[InlineData(Mapper.SuperGame, "SuperGame")]
|
|
[InlineData(Mapper.Activision, "Activision")]
|
|
[InlineData(Mapper.Absolute, "Absolute")]
|
|
[InlineData(Mapper.Souper, "Souper")]
|
|
public void FromMapperTest(Mapper mapper, string expected)
|
|
{
|
|
string actual = mapper.FromMapper();
|
|
Assert.Equal(expected, actual);
|
|
}
|
|
|
|
[Theory]
|
|
[InlineData(MapperOptions.SuperGameNone, "Option at @4000 - none, Standard ROM")]
|
|
[InlineData(MapperOptions.SuperGame16KRAM, "Option at @4000 - 16K RAM, Standard ROM")]
|
|
[InlineData(MapperOptions.SuperGame8KEXRAMA8, "Option at @4000 - 8K EXRAM/A8, Standard ROM")]
|
|
[InlineData(MapperOptions.SuperGame32KEXRAMM2, "Option at @4000 - 32K EXRAM/M2, Standard ROM")]
|
|
[InlineData(MapperOptions.SuperGameEXROM, "Option at @4000 - EXROM, Standard ROM")]
|
|
[InlineData(MapperOptions.SuperGameEXFIX, "Option at @4000 - EXFIX, Standard ROM")]
|
|
[InlineData(MapperOptions.SuperGame32KEXRAMX2, "Option at @4000 - 32k EXRAM/X2, Standard ROM")]
|
|
[InlineData(MapperOptions.BanksetRom, "Option at @4000 - none, Bankset ROM")]
|
|
public void FromMapperOptionsTest(MapperOptions options, string expected)
|
|
{
|
|
string actual = options.FromMapperOptions();
|
|
Assert.Equal(expected, actual);
|
|
}
|
|
|
|
[Theory]
|
|
[InlineData(SaveDevice.None, "None")]
|
|
[InlineData(SaveDevice.HSC, "HSC")]
|
|
[InlineData(SaveDevice.SaveKeyAtariVox, "SaveKey/AtariVox")]
|
|
public void FromSaveDeviceTest(SaveDevice device, string expected)
|
|
{
|
|
string actual = device.FromSaveDevice();
|
|
Assert.Equal(expected, actual);
|
|
}
|
|
|
|
[Theory]
|
|
[InlineData(SlotPassthroughDevice.None, "None")]
|
|
[InlineData(SlotPassthroughDevice.XM, "XM")]
|
|
public void FromSlotPassthroughDeviceTest(SlotPassthroughDevice device, string expected)
|
|
{
|
|
string actual = device.FromSlotPassthroughDevice();
|
|
Assert.Equal(expected, actual);
|
|
}
|
|
|
|
[Theory]
|
|
[InlineData((TVType)0, "NTSC, Component, Single-region")]
|
|
[InlineData(TVType.PAL, "PAL, Component, Single-region")]
|
|
[InlineData(TVType.Composite, "NTSC, Composite, Single-region")]
|
|
[InlineData(TVType.MultiRegion, "NTSC, Component, Multi-region")]
|
|
public void FromTVTypeTest(TVType type, string expected)
|
|
{
|
|
string actual = type.FromTVType();
|
|
Assert.Equal(expected, actual);
|
|
}
|
|
}
|
|
}
|