Add unit test for serializer
This commit is contained in:
1 parent
e982d7ee6f
commit
f9e85d8168
14 files changed
+1225
No files matched your search
@@ -55,3 +55,5 @@ Thumbs.db
|
|||||||
/Installer/Prerequisites/GStreamer x86/gstreamer-1.0-x86-1.4.1.msi
|
/Installer/Prerequisites/GStreamer x86/gstreamer-1.0-x86-1.4.1.msi
|
||||||
/WebserverInitalConfig/bin
|
/WebserverInitalConfig/bin
|
||||||
/PhoneGap/
|
/PhoneGap/
|
||||||
|
/TestResults
|
||||||
|
/VocaluxeTests/bin
|
||||||
@@ -25,6 +25,13 @@ Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "WebserverInitalConfig", "We
|
|||||||
EndProject
|
EndProject
|
||||||
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "PitchTracker", "PitchTracker\PitchTracker.vcxproj", "{54A48AF7-515C-4EDD-B395-2BFFA096050A}"
|
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "PitchTracker", "PitchTracker\PitchTracker.vcxproj", "{54A48AF7-515C-4EDD-B395-2BFFA096050A}"
|
||||||
EndProject
|
EndProject
|
||||||
|
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "VocaluxeTests", "VocaluxeTests\VocaluxeTests.csproj", "{93356718-3A0B-4784-AAE1-215065BFFC66}"
|
||||||
|
EndProject
|
||||||
|
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Solution Items", "Solution Items", "{2BDDF9CE-271F-49C6-A92E-9CB6185ACF58}"
|
||||||
|
ProjectSection(SolutionItems) = preProject
|
||||||
|
Vocaluxe.testsettings = Vocaluxe.testsettings
|
||||||
|
EndProjectSection
|
||||||
|
EndProject
|
||||||
Global
|
Global
|
||||||
GlobalSection(SolutionConfigurationPlatforms) = preSolution
|
GlobalSection(SolutionConfigurationPlatforms) = preSolution
|
||||||
DebugLinux|x64 = DebugLinux|x64
|
DebugLinux|x64 = DebugLinux|x64
|
||||||
@@ -195,6 +202,26 @@ Global
|
|||||||
{54A48AF7-515C-4EDD-B395-2BFFA096050A}.ReleaseWin|x64.Build.0 = Release|x64
|
{54A48AF7-515C-4EDD-B395-2BFFA096050A}.ReleaseWin|x64.Build.0 = Release|x64
|
||||||
{54A48AF7-515C-4EDD-B395-2BFFA096050A}.ReleaseWin|x86.ActiveCfg = Release|Win32
|
{54A48AF7-515C-4EDD-B395-2BFFA096050A}.ReleaseWin|x86.ActiveCfg = Release|Win32
|
||||||
{54A48AF7-515C-4EDD-B395-2BFFA096050A}.ReleaseWin|x86.Build.0 = Release|Win32
|
{54A48AF7-515C-4EDD-B395-2BFFA096050A}.ReleaseWin|x86.Build.0 = Release|Win32
|
||||||
|
{93356718-3A0B-4784-AAE1-215065BFFC66}.DebugLinux|x64.ActiveCfg = Debug|x64
|
||||||
|
{93356718-3A0B-4784-AAE1-215065BFFC66}.DebugLinux|x64.Build.0 = Debug|x64
|
||||||
|
{93356718-3A0B-4784-AAE1-215065BFFC66}.DebugLinux|x86.ActiveCfg = Debug|x86
|
||||||
|
{93356718-3A0B-4784-AAE1-215065BFFC66}.DebugLinux|x86.Build.0 = Debug|x86
|
||||||
|
{93356718-3A0B-4784-AAE1-215065BFFC66}.DebugWin|x64.ActiveCfg = Debug|x64
|
||||||
|
{93356718-3A0B-4784-AAE1-215065BFFC66}.DebugWin|x64.Build.0 = Debug|x64
|
||||||
|
{93356718-3A0B-4784-AAE1-215065BFFC66}.DebugWin|x86.ActiveCfg = Debug|x86
|
||||||
|
{93356718-3A0B-4784-AAE1-215065BFFC66}.DebugWin|x86.Build.0 = Debug|x86
|
||||||
|
{93356718-3A0B-4784-AAE1-215065BFFC66}.InstallerWin|x64.ActiveCfg = Release|x64
|
||||||
|
{93356718-3A0B-4784-AAE1-215065BFFC66}.InstallerWin|x64.Build.0 = Release|x64
|
||||||
|
{93356718-3A0B-4784-AAE1-215065BFFC66}.InstallerWin|x86.ActiveCfg = Release|x86
|
||||||
|
{93356718-3A0B-4784-AAE1-215065BFFC66}.InstallerWin|x86.Build.0 = Release|x86
|
||||||
|
{93356718-3A0B-4784-AAE1-215065BFFC66}.ReleaseLinux|x64.ActiveCfg = Release|x64
|
||||||
|
{93356718-3A0B-4784-AAE1-215065BFFC66}.ReleaseLinux|x64.Build.0 = Release|x64
|
||||||
|
{93356718-3A0B-4784-AAE1-215065BFFC66}.ReleaseLinux|x86.ActiveCfg = Release|x86
|
||||||
|
{93356718-3A0B-4784-AAE1-215065BFFC66}.ReleaseLinux|x86.Build.0 = Release|x86
|
||||||
|
{93356718-3A0B-4784-AAE1-215065BFFC66}.ReleaseWin|x64.ActiveCfg = Release|x64
|
||||||
|
{93356718-3A0B-4784-AAE1-215065BFFC66}.ReleaseWin|x64.Build.0 = Release|x64
|
||||||
|
{93356718-3A0B-4784-AAE1-215065BFFC66}.ReleaseWin|x86.ActiveCfg = Release|x86
|
||||||
|
{93356718-3A0B-4784-AAE1-215065BFFC66}.ReleaseWin|x86.Build.0 = Release|x86
|
||||||
EndGlobalSection
|
EndGlobalSection
|
||||||
GlobalSection(SolutionProperties) = preSolution
|
GlobalSection(SolutionProperties) = preSolution
|
||||||
HideSolutionNode = FALSE
|
HideSolutionNode = FALSE
|
||||||
|
|||||||
@@ -114,4 +114,9 @@ along with $SOLUTION$. If not, see <http://www.gnu.org/licenses/>.</s:Stri
|
|||||||
<s:String x:Key="/Default/CodeStyle/Naming/CSharpNaming/UserRules/=8cff90ce_002Def0d_002D436d_002Db8f2_002D5b5bdb923d3b/@EntryIndexedValue"><Policy><Descriptor Staticness="Static, Instance" AccessRightKinds="Private, Protected, ProtectedInternal, Internal, Public" Description="Classes"><ElementKinds><Kind Name="CLASS" /></ElementKinds></Descriptor><Policy Inspect="True" Prefix="C" Suffix="" Style="AaBb" /></Policy></s:String>
|
<s:String x:Key="/Default/CodeStyle/Naming/CSharpNaming/UserRules/=8cff90ce_002Def0d_002D436d_002Db8f2_002D5b5bdb923d3b/@EntryIndexedValue"><Policy><Descriptor Staticness="Static, Instance" AccessRightKinds="Private, Protected, ProtectedInternal, Internal, Public" Description="Classes"><ElementKinds><Kind Name="CLASS" /></ElementKinds></Descriptor><Policy Inspect="True" Prefix="C" Suffix="" Style="AaBb" /></Policy></s:String>
|
||||||
<s:String x:Key="/Default/CodeStyle/Naming/CSharpNaming/UserRules/=9aa707ae_002Dd4fb_002D4760_002Da649_002Dffcedfabd5dc/@EntryIndexedValue"><Policy><Descriptor Staticness="Static, Instance" AccessRightKinds="Private, Protected" Description="Fields (not public)"><ElementKinds><Kind Name="FIELD" /><Kind Name="READONLY_FIELD" /><Kind Name="METHOD" /><Kind Name="PROPERTY" /></ElementKinds></Descriptor><Policy Inspect="True" Prefix="_" Suffix="" Style="AaBb" /></Policy></s:String>
|
<s:String x:Key="/Default/CodeStyle/Naming/CSharpNaming/UserRules/=9aa707ae_002Dd4fb_002D4760_002Da649_002Dffcedfabd5dc/@EntryIndexedValue"><Policy><Descriptor Staticness="Static, Instance" AccessRightKinds="Private, Protected" Description="Fields (not public)"><ElementKinds><Kind Name="FIELD" /><Kind Name="READONLY_FIELD" /><Kind Name="METHOD" /><Kind Name="PROPERTY" /></ElementKinds></Descriptor><Policy Inspect="True" Prefix="_" Suffix="" Style="AaBb" /></Policy></s:String>
|
||||||
<s:String x:Key="/Default/CodeStyle/Naming/CSharpNaming/UserRules/=da335a8d_002D4b6e_002D4df6_002D8434_002D29ffe5e2547b/@EntryIndexedValue"><Policy><Descriptor Staticness="Static, Instance" AccessRightKinds="Private, Protected, ProtectedInternal, Internal, Public" Description="Structs"><ElementKinds><Kind Name="STRUCT" /></ElementKinds></Descriptor><Policy Inspect="True" Prefix="S" Suffix="" Style="AaBb" /></Policy></s:String>
|
<s:String x:Key="/Default/CodeStyle/Naming/CSharpNaming/UserRules/=da335a8d_002D4b6e_002D4df6_002D8434_002D29ffe5e2547b/@EntryIndexedValue"><Policy><Descriptor Staticness="Static, Instance" AccessRightKinds="Private, Protected, ProtectedInternal, Internal, Public" Description="Structs"><ElementKinds><Kind Name="STRUCT" /></ElementKinds></Descriptor><Policy Inspect="True" Prefix="S" Suffix="" Style="AaBb" /></Policy></s:String>
|
||||||
|
<s:Boolean x:Key="/Default/Environment/UnitTesting/DisabledProviders/=MSTest/@EntryIndexedValue">False</s:Boolean>
|
||||||
|
<s:String x:Key="/Default/Environment/UnitTesting/MsTestProvider/RunConfigurationFilename/@EntryValue">Vocaluxe.testsettings</s:String>
|
||||||
|
<s:Boolean x:Key="/Default/Environment/UnitTesting/MsTestProvider/UseLegacyRunner/@EntryValue">True</s:Boolean>
|
||||||
|
<s:Boolean x:Key="/Default/Environment/UnitTesting/MsTestProvider/UseTestRunConfigFromMetadataFile/@EntryValue">False</s:Boolean>
|
||||||
|
<s:Boolean x:Key="/Default/Environment/UnitTesting/ShadowCopy/@EntryValue">True</s:Boolean>
|
||||||
</wpf:ResourceDictionary>
|
</wpf:ResourceDictionary>
|
||||||
@@ -0,0 +1,28 @@
|
|||||||
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
|
<TestSettings name="VocaluxeTestSettings" id="58f74469-1437-4c0f-9142-c1ec6920c168" xmlns="http://microsoft.com/schemas/VisualStudio/TeamTest/2010">
|
||||||
|
<Description>Dies sind die standardmäßigen Testeinstellungen für einen lokalen Testlauf.</Description>
|
||||||
|
<Deployment enabled="false" />
|
||||||
|
<Execution hostProcessPlatform="MSIL">
|
||||||
|
<Hosts skipUnhostableTests="false" />
|
||||||
|
<Timeouts runTimeout="1800000" testTimeout="120000" />
|
||||||
|
<TestTypeSpecific>
|
||||||
|
<UnitTestRunConfig testTypeId="13cdc9d9-ddb5-4fa4-a97d-d965ccfc6d4b">
|
||||||
|
<AssemblyResolution>
|
||||||
|
<TestDirectory useLoadContext="true" />
|
||||||
|
</AssemblyResolution>
|
||||||
|
</UnitTestRunConfig>
|
||||||
|
<WebTestRunConfiguration testTypeId="4e7599fa-5ecb-43e9-a887-cd63cf72d207">
|
||||||
|
<Browser name="Internet Explorer 9.0" MaxConnections="6">
|
||||||
|
<Headers>
|
||||||
|
<Header name="User-Agent" value="Mozilla/5.0 (compatible; MSIE 9.0; Windows NT 6.1; Trident/5.0)" />
|
||||||
|
<Header name="Accept" value="*/*" />
|
||||||
|
<Header name="Accept-Language" value="{{$IEAcceptLanguage}}" />
|
||||||
|
<Header name="Accept-Encoding" value="GZIP" />
|
||||||
|
</Headers>
|
||||||
|
</Browser>
|
||||||
|
</WebTestRunConfiguration>
|
||||||
|
</TestTypeSpecific>
|
||||||
|
<AgentRule name="LocalMachineDefaultRole">
|
||||||
|
</AgentRule>
|
||||||
|
</Execution>
|
||||||
|
</TestSettings>
|
||||||
@@ -20,6 +20,7 @@ using System.Diagnostics;
|
|||||||
using System.IO;
|
using System.IO;
|
||||||
using System.Linq;
|
using System.Linq;
|
||||||
using System.Reflection;
|
using System.Reflection;
|
||||||
|
using System.Runtime.CompilerServices;
|
||||||
using System.Runtime.ExceptionServices;
|
using System.Runtime.ExceptionServices;
|
||||||
using System.Threading;
|
using System.Threading;
|
||||||
using System.Windows.Forms;
|
using System.Windows.Forms;
|
||||||
@@ -28,6 +29,8 @@ using Vocaluxe.Base.Fonts;
|
|||||||
using Vocaluxe.Base.Server;
|
using Vocaluxe.Base.Server;
|
||||||
using Vocaluxe.Base.ThemeSystem;
|
using Vocaluxe.Base.ThemeSystem;
|
||||||
|
|
||||||
|
[assembly: InternalsVisibleTo("VocaluxeTests")]
|
||||||
|
|
||||||
namespace Vocaluxe
|
namespace Vocaluxe
|
||||||
{
|
{
|
||||||
class CLoadingException : Exception
|
class CLoadingException : Exception
|
||||||
|
|||||||
@@ -0,0 +1,36 @@
|
|||||||
|
using System.Reflection;
|
||||||
|
using System.Runtime.CompilerServices;
|
||||||
|
using System.Runtime.InteropServices;
|
||||||
|
|
||||||
|
// Allgemeine Informationen über eine Assembly werden über folgende
|
||||||
|
// Attribute gesteuert. Ändern Sie diese Attributwerte, um die Informationen zu ändern,
|
||||||
|
// die einer Assembly zugeordnet sind.
|
||||||
|
[assembly: AssemblyTitle("VocaluxeTests")]
|
||||||
|
[assembly: AssemblyDescription("")]
|
||||||
|
[assembly: AssemblyConfiguration("")]
|
||||||
|
[assembly: AssemblyCompany("")]
|
||||||
|
[assembly: AssemblyProduct("VocaluxeTests")]
|
||||||
|
[assembly: AssemblyCopyright("Copyright © 2014")]
|
||||||
|
[assembly: AssemblyTrademark("")]
|
||||||
|
[assembly: AssemblyCulture("")]
|
||||||
|
|
||||||
|
// Wenn ComVisible auf "false" festgelegt wird, sind die Typen innerhalb dieser Assembly
|
||||||
|
// für COM-Komponenten unsichtbar. Wenn Sie auf einen Typ in dieser Assembly von
|
||||||
|
// COM aus zugreifen müssen, sollten Sie das ComVisible-Attribut für diesen Typ auf "True" festlegen.
|
||||||
|
[assembly: ComVisible(false)]
|
||||||
|
|
||||||
|
// Die folgende GUID bestimmt die ID der Typbibliothek, wenn dieses Projekt für COM verfügbar gemacht wird
|
||||||
|
[assembly: Guid("3bdc6da5-a651-452e-903c-deec310288ad")]
|
||||||
|
|
||||||
|
// Versionsinformationen für eine Assembly bestehen aus den folgenden vier Werten:
|
||||||
|
//
|
||||||
|
// Hauptversion
|
||||||
|
// Nebenversion
|
||||||
|
// Buildnummer
|
||||||
|
// Revision
|
||||||
|
//
|
||||||
|
// Sie können alle Werte angeben oder die standardmäßigen Build- und Revisionsnummern
|
||||||
|
// durch Einsatz von '*', wie in nachfolgendem Beispiel:
|
||||||
|
// [Assembly: AssemblyVersion("1.0.*")]
|
||||||
|
[assembly: AssemblyVersion("1.0.0.0")]
|
||||||
|
[assembly: AssemblyFileVersion("1.0.0.0")]
|
||||||
@@ -0,0 +1,97 @@
|
|||||||
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
|
<root>
|
||||||
|
<Info />
|
||||||
|
<Debug>
|
||||||
|
<DebugLevel>TR_CONFIG_LEVEL_MAX</DebugLevel>
|
||||||
|
<SaveModifiedSongs>TR_CONFIG_ON</SaveModifiedSongs>
|
||||||
|
</Debug>
|
||||||
|
<Graphics>
|
||||||
|
<Renderer>TR_CONFIG_DIRECT3D</Renderer>
|
||||||
|
<TextureQuality>TR_CONFIG_TEXTURE_HIGH</TextureQuality>
|
||||||
|
<CoverSize>128</CoverSize>
|
||||||
|
<ScreenW>1024</ScreenW>
|
||||||
|
<ScreenH>576</ScreenH>
|
||||||
|
<ScreenAlignment>Middle</ScreenAlignment>
|
||||||
|
<BorderLeft>0</BorderLeft>
|
||||||
|
<BorderRight>1</BorderRight>
|
||||||
|
<BorderTop>0</BorderTop>
|
||||||
|
<BorderBottom>0</BorderBottom>
|
||||||
|
<AAMode>X0</AAMode>
|
||||||
|
<MaxFPS>60</MaxFPS>
|
||||||
|
<VSync>TR_CONFIG_ON</VSync>
|
||||||
|
<FullScreen>TR_CONFIG_OFF</FullScreen>
|
||||||
|
<FadeTime>0.4</FadeTime>
|
||||||
|
</Graphics>
|
||||||
|
<Theme>
|
||||||
|
<Name>Ambient</Name>
|
||||||
|
<Skin>Blue</Skin>
|
||||||
|
<Cover>Blue</Cover>
|
||||||
|
<DrawNoteLines>TR_CONFIG_ON</DrawNoteLines>
|
||||||
|
<DrawToneHelper>TR_CONFIG_ON</DrawToneHelper>
|
||||||
|
<TimerLook>TR_CONFIG_TIMERLOOK_EXPANDED</TimerLook>
|
||||||
|
<PlayerInfo>TR_CONFIG_PLAYERINFO_BOTH</PlayerInfo>
|
||||||
|
<FadePlayerInfo>TR_CONFIG_FADEPLAYERINFO_OFF</FadePlayerInfo>
|
||||||
|
<CoverLoading>TR_CONFIG_COVERLOADING_ATSTART</CoverLoading>
|
||||||
|
<LyricStyle>Slide</LyricStyle>
|
||||||
|
</Theme>
|
||||||
|
<Sound>
|
||||||
|
<PlayBackLib>GstreamerSharp</PlayBackLib>
|
||||||
|
<RecordLib>PortAudio</RecordLib>
|
||||||
|
<AudioBufferSize>B2048</AudioBufferSize>
|
||||||
|
<AudioLatency>0</AudioLatency>
|
||||||
|
<BackgroundMusic>TR_CONFIG_ON</BackgroundMusic>
|
||||||
|
<BackgroundMusicVolume>20</BackgroundMusicVolume>
|
||||||
|
<BackgroundMusicSource>TR_CONFIG_NO_OWN_MUSIC</BackgroundMusicSource>
|
||||||
|
<BackgroundMusicUseStart>TR_CONFIG_ON</BackgroundMusicUseStart>
|
||||||
|
<PreviewMusicVolume>50</PreviewMusicVolume>
|
||||||
|
<GameMusicVolume>100</GameMusicVolume>
|
||||||
|
</Sound>
|
||||||
|
<Game>
|
||||||
|
<Language>Deutsch</Language>
|
||||||
|
<SongFolder>E:\Songs</SongFolder>
|
||||||
|
<SongMenu>TR_CONFIG_TILE_BOARD</SongMenu>
|
||||||
|
<SongSorting>TR_CONFIG_ARTIST_LETTER</SongSorting>
|
||||||
|
<IgnoreArticles>TR_CONFIG_ON</IgnoreArticles>
|
||||||
|
<ScoreAnimationTime>10</ScoreAnimationTime>
|
||||||
|
<TimerMode>TR_CONFIG_TIMERMODE_REMAINING</TimerMode>
|
||||||
|
<NumPlayers>1</NumPlayers>
|
||||||
|
<Tabs>TR_CONFIG_ON</Tabs>
|
||||||
|
<LyricsPosition>TR_CONFIG_LYRICSPOSITION_BOTTOM</LyricsPosition>
|
||||||
|
<MinLineBreakTime>0.1</MinLineBreakTime>
|
||||||
|
<Players>
|
||||||
|
<Player>guest1.xml</Player>
|
||||||
|
<Player>guest1.xml</Player>
|
||||||
|
<Player>guest1.xml</Player>
|
||||||
|
<Player>guest1.xml</Player>
|
||||||
|
<Player />
|
||||||
|
<Player />
|
||||||
|
</Players>
|
||||||
|
</Game>
|
||||||
|
<Video>
|
||||||
|
<VideoDecoder>FFmpeg</VideoDecoder>
|
||||||
|
<VideoBackgrounds>TR_CONFIG_ON</VideoBackgrounds>
|
||||||
|
<VideoPreview>TR_CONFIG_ON</VideoPreview>
|
||||||
|
<VideosInSongs>TR_CONFIG_ON</VideosInSongs>
|
||||||
|
<VideosToBackground>TR_CONFIG_ON</VideosToBackground>
|
||||||
|
<WebcamLib>OpenCV</WebcamLib>
|
||||||
|
<WebcamConfig>
|
||||||
|
<MonikerString />
|
||||||
|
<Framerate>0</Framerate>
|
||||||
|
<Width>0</Width>
|
||||||
|
<Height>0</Height>
|
||||||
|
</WebcamConfig>
|
||||||
|
</Video>
|
||||||
|
<Record>
|
||||||
|
<MicConfig>
|
||||||
|
<DeviceName>Mikrofon (C-Media USB Headphone Set )</DeviceName>
|
||||||
|
<DeviceDriver>Mikrofon (C-Media USB Headphone Set )6</DeviceDriver>
|
||||||
|
<Channel>1</Channel>
|
||||||
|
</MicConfig>
|
||||||
|
<MicDelay>120</MicDelay>
|
||||||
|
</Record>
|
||||||
|
<Server>
|
||||||
|
<ServerActive>TR_CONFIG_ON</ServerActive>
|
||||||
|
<ServerEncryption>TR_CONFIG_ON</ServerEncryption>
|
||||||
|
<ServerPort>3000</ServerPort>
|
||||||
|
</Server>
|
||||||
|
</root>
|
||||||
@@ -0,0 +1,35 @@
|
|||||||
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
|
<root>
|
||||||
|
<Fonts>
|
||||||
|
<Font>
|
||||||
|
<Name>Normal</Name>
|
||||||
|
<Outline>0</Outline>
|
||||||
|
<OutlineColor>
|
||||||
|
<R>0</R>
|
||||||
|
<G>0</G>
|
||||||
|
<B>0</B>
|
||||||
|
<A>1</A>
|
||||||
|
</OutlineColor>
|
||||||
|
<Folder>FreeSans</Folder>
|
||||||
|
<FileNormal>FreeSans.ttf</FileNormal>
|
||||||
|
<FileBold>FreeSansBold.ttf</FileBold>
|
||||||
|
<FileItalic>FreeSansOblique.ttf</FileItalic>
|
||||||
|
<FileBoldItalic>FreeSansBoldOblique.ttf</FileBoldItalic>
|
||||||
|
</Font>
|
||||||
|
<Font>
|
||||||
|
<Name>Outline</Name>
|
||||||
|
<Outline>0.1</Outline>
|
||||||
|
<OutlineColor>
|
||||||
|
<R>0</R>
|
||||||
|
<G>0</G>
|
||||||
|
<B>0</B>
|
||||||
|
<A>1</A>
|
||||||
|
</OutlineColor>
|
||||||
|
<Folder>FreeSans</Folder>
|
||||||
|
<FileNormal>FreeSans.ttf</FileNormal>
|
||||||
|
<FileBold>FreeSansBold.ttf</FileBold>
|
||||||
|
<FileItalic>FreeSansOblique.ttf</FileItalic>
|
||||||
|
<FileBoldItalic>FreeSansBoldOblique.ttf</FileBoldItalic>
|
||||||
|
</Font>
|
||||||
|
</Fonts>
|
||||||
|
</root>
|
||||||
@@ -0,0 +1,268 @@
|
|||||||
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
|
<root>
|
||||||
|
<SkinSystemVersion>4</SkinSystemVersion>
|
||||||
|
<Info>
|
||||||
|
<Name>Blue</Name>
|
||||||
|
<Author>bohning</Author>
|
||||||
|
<VersionMajor>0</VersionMajor>
|
||||||
|
<VersionMinor>0</VersionMinor>
|
||||||
|
</Info>
|
||||||
|
<Colors>
|
||||||
|
<Player1>
|
||||||
|
<R>0</R>
|
||||||
|
<G>0</G>
|
||||||
|
<B>1</B>
|
||||||
|
<A>1</A>
|
||||||
|
</Player1>
|
||||||
|
<Player2>
|
||||||
|
<R>1</R>
|
||||||
|
<G>0</G>
|
||||||
|
<B>0</B>
|
||||||
|
<A>1</A>
|
||||||
|
</Player2>
|
||||||
|
<Player3>
|
||||||
|
<R>0</R>
|
||||||
|
<G>1</G>
|
||||||
|
<B>0</B>
|
||||||
|
<A>1</A>
|
||||||
|
</Player3>
|
||||||
|
<Player4>
|
||||||
|
<R>0.5</R>
|
||||||
|
<G>0</G>
|
||||||
|
<B>1</B>
|
||||||
|
<A>1</A>
|
||||||
|
</Player4>
|
||||||
|
<Player5>
|
||||||
|
<R>1</R>
|
||||||
|
<G>0.8</G>
|
||||||
|
<B>0</B>
|
||||||
|
<A>1</A>
|
||||||
|
</Player5>
|
||||||
|
<Player6>
|
||||||
|
<R>1</R>
|
||||||
|
<G>0</G>
|
||||||
|
<B>0.5</B>
|
||||||
|
<A>1</A>
|
||||||
|
</Player6>
|
||||||
|
<BackgroundColor>
|
||||||
|
<R>0</R>
|
||||||
|
<G>0</G>
|
||||||
|
<B>0.75</B>
|
||||||
|
<A>1</A>
|
||||||
|
</BackgroundColor>
|
||||||
|
<StaticColor>
|
||||||
|
<R>0.675</R>
|
||||||
|
<G>0.89</G>
|
||||||
|
<B>0.969</B>
|
||||||
|
<A>1</A>
|
||||||
|
</StaticColor>
|
||||||
|
<StaticColorAlpha>
|
||||||
|
<R>0.675</R>
|
||||||
|
<G>0.89</G>
|
||||||
|
<B>0.969</B>
|
||||||
|
<A>0.5</A>
|
||||||
|
</StaticColorAlpha>
|
||||||
|
<StaticWarningColor>
|
||||||
|
<R>0.675</R>
|
||||||
|
<G>0.89</G>
|
||||||
|
<B>0.969</B>
|
||||||
|
<A>0.6</A>
|
||||||
|
</StaticWarningColor>
|
||||||
|
<ButtonColor>
|
||||||
|
<R>0.675</R>
|
||||||
|
<G>0.89</G>
|
||||||
|
<B>0.969</B>
|
||||||
|
<A>0.3</A>
|
||||||
|
</ButtonColor>
|
||||||
|
<ButtonSelColor>
|
||||||
|
<R>0.675</R>
|
||||||
|
<G>0.89</G>
|
||||||
|
<B>0.969</B>
|
||||||
|
<A>1</A>
|
||||||
|
</ButtonSelColor>
|
||||||
|
<ButtonTextColor>
|
||||||
|
<R>0.675</R>
|
||||||
|
<G>0.89</G>
|
||||||
|
<B>0.969</B>
|
||||||
|
<A>0.5</A>
|
||||||
|
</ButtonTextColor>
|
||||||
|
<ButtonTextSelColor>
|
||||||
|
<R>0.675</R>
|
||||||
|
<G>0.89</G>
|
||||||
|
<B>0.969</B>
|
||||||
|
<A>1</A>
|
||||||
|
</ButtonTextSelColor>
|
||||||
|
<SelectSlideColor>
|
||||||
|
<R>0.675</R>
|
||||||
|
<G>0.89</G>
|
||||||
|
<B>0.969</B>
|
||||||
|
<A>1</A>
|
||||||
|
</SelectSlideColor>
|
||||||
|
<SelectSlideColorAlpha>
|
||||||
|
<R>0.675</R>
|
||||||
|
<G>0.89</G>
|
||||||
|
<B>0.969</B>
|
||||||
|
<A>0.5</A>
|
||||||
|
</SelectSlideColorAlpha>
|
||||||
|
<SelectSlideSelColor>
|
||||||
|
<R>0.675</R>
|
||||||
|
<G>0.89</G>
|
||||||
|
<B>0.969</B>
|
||||||
|
<A>0.5</A>
|
||||||
|
</SelectSlideSelColor>
|
||||||
|
<ArrowColor>
|
||||||
|
<R>0.675</R>
|
||||||
|
<G>0.89</G>
|
||||||
|
<B>0.969</B>
|
||||||
|
<A>0.3</A>
|
||||||
|
</ArrowColor>
|
||||||
|
<ArrowSelColor>
|
||||||
|
<R>0.675</R>
|
||||||
|
<G>0.89</G>
|
||||||
|
<B>0.969</B>
|
||||||
|
<A>1</A>
|
||||||
|
</ArrowSelColor>
|
||||||
|
<TextColor>
|
||||||
|
<R>0.675</R>
|
||||||
|
<G>0.89</G>
|
||||||
|
<B>0.969</B>
|
||||||
|
<A>0.5</A>
|
||||||
|
</TextColor>
|
||||||
|
<TextSelColor>
|
||||||
|
<R>0.675</R>
|
||||||
|
<G>0.89</G>
|
||||||
|
<B>0.969</B>
|
||||||
|
<A>1</A>
|
||||||
|
</TextSelColor>
|
||||||
|
<TextWarningColor>
|
||||||
|
<R>1</R>
|
||||||
|
<G>0</G>
|
||||||
|
<B>0</B>
|
||||||
|
<A>1</A>
|
||||||
|
</TextWarningColor>
|
||||||
|
<Black>
|
||||||
|
<R>0</R>
|
||||||
|
<G>0</G>
|
||||||
|
<B>0</B>
|
||||||
|
<A>1</A>
|
||||||
|
</Black>
|
||||||
|
<White>
|
||||||
|
<R>1</R>
|
||||||
|
<G>1</G>
|
||||||
|
<B>1</B>
|
||||||
|
<A>1</A>
|
||||||
|
</White>
|
||||||
|
<Visible>
|
||||||
|
<R>1</R>
|
||||||
|
<G>1</G>
|
||||||
|
<B>1</B>
|
||||||
|
<A>1</A>
|
||||||
|
</Visible>
|
||||||
|
<Invisible>
|
||||||
|
<R>1</R>
|
||||||
|
<G>1</G>
|
||||||
|
<B>1</B>
|
||||||
|
<A>0</A>
|
||||||
|
</Invisible>
|
||||||
|
<LyricProcessedColor>
|
||||||
|
<R>0</R>
|
||||||
|
<G>0</G>
|
||||||
|
<B>1</B>
|
||||||
|
<A>1</A>
|
||||||
|
</LyricProcessedColor>
|
||||||
|
<LyricMainColor>
|
||||||
|
<R>0</R>
|
||||||
|
<G>0</G>
|
||||||
|
<B>0</B>
|
||||||
|
<A>1</A>
|
||||||
|
</LyricMainColor>
|
||||||
|
<LyricSubColor>
|
||||||
|
<R>0.3</R>
|
||||||
|
<G>0.3</G>
|
||||||
|
<B>0.3</B>
|
||||||
|
<A>1</A>
|
||||||
|
</LyricSubColor>
|
||||||
|
<LyricHelper>
|
||||||
|
<R>0</R>
|
||||||
|
<G>0</G>
|
||||||
|
<B>1</B>
|
||||||
|
<A>0.5</A>
|
||||||
|
</LyricHelper>
|
||||||
|
<TimeBar>
|
||||||
|
<R>0.8</R>
|
||||||
|
<G>0.95</G>
|
||||||
|
<B>1</B>
|
||||||
|
<A>0.5</A>
|
||||||
|
</TimeBar>
|
||||||
|
<TimeBarSentence>
|
||||||
|
<R>0.8</R>
|
||||||
|
<G>0.95</G>
|
||||||
|
<B>1</B>
|
||||||
|
<A>0.85</A>
|
||||||
|
</TimeBarSentence>
|
||||||
|
</Colors>
|
||||||
|
<Skins>
|
||||||
|
<BG_Default>[Blue]BG_Default.png</BG_Default>
|
||||||
|
<BG_Options>[Blue]BG_Options.png</BG_Options>
|
||||||
|
<Menu>Menu.png</Menu>
|
||||||
|
<Button>Button.png</Button>
|
||||||
|
<CoverTile>CoverTile.png</CoverTile>
|
||||||
|
<CoverBackground>CoverBackground.png</CoverBackground>
|
||||||
|
<Cursor>Cursor.png</Cursor>
|
||||||
|
<TimeBar>TimeBar.png</TimeBar>
|
||||||
|
<TimeLine>TimeLine.png</TimeLine>
|
||||||
|
<Pointer>Pointer.png</Pointer>
|
||||||
|
<SelectSlide>SelectSlide.png</SelectSlide>
|
||||||
|
<SelectSlidePlayer>SelectSlidePlayer.png</SelectSlidePlayer>
|
||||||
|
<SelectSlideArrowLeft>SelectSlideArrowLeft.png</SelectSlideArrowLeft>
|
||||||
|
<SelectSlideArrowRight>SelectSlideArrowRight.png</SelectSlideArrowRight>
|
||||||
|
<NoteLeft>notes_left.png</NoteLeft>
|
||||||
|
<NoteMiddle>notes_mid.png</NoteMiddle>
|
||||||
|
<NoteRight>notes_right.png</NoteRight>
|
||||||
|
<NoteBackgroundLeft>notes_bg_left.png</NoteBackgroundLeft>
|
||||||
|
<NoteBackgroundMiddle>notes_bg_mid.png</NoteBackgroundMiddle>
|
||||||
|
<NoteBackgroundRight>notes_bg_right.png</NoteBackgroundRight>
|
||||||
|
<PointsBar>points_bar.png</PointsBar>
|
||||||
|
<PointsBarBG>points_bar_bg.png</PointsBarBG>
|
||||||
|
<Lyrics>Lyrics.png</Lyrics>
|
||||||
|
<LyricHelper>LyricHelper.png</LyricHelper>
|
||||||
|
<ToneHelper>ToneHelper.png</ToneHelper>
|
||||||
|
<TextBG>TextBG.png</TextBG>
|
||||||
|
<Score>Score.png</Score>
|
||||||
|
<Star>Star.png</Star>
|
||||||
|
<Snowflake>Snowflake.png</Snowflake>
|
||||||
|
<SongMenu>SongMenu.png</SongMenu>
|
||||||
|
<PerfectNoteStar>PerfectNoteStar.png</PerfectNoteStar>
|
||||||
|
<PauseBG>Pause.png</PauseBG>
|
||||||
|
<EnergyBeam>EnergyBeam.png</EnergyBeam>
|
||||||
|
<DuetIcon>DuetIcon.png</DuetIcon>
|
||||||
|
<VideoIcon>VideoIcon.png</VideoIcon>
|
||||||
|
<VideoIconCO>VideoIconCO.png</VideoIconCO>
|
||||||
|
<VideoIconBG>VideoIconBG.png</VideoIconBG>
|
||||||
|
<MedleyCalcIcon>MedleyCalcIcon.png</MedleyCalcIcon>
|
||||||
|
<MedleyTagIcon>MedleyTagIcon.png</MedleyTagIcon>
|
||||||
|
<PlayerSelector>PlayerSelector.png</PlayerSelector>
|
||||||
|
<PreviousIcon>PreviousIcon.png</PreviousIcon>
|
||||||
|
<NextIcon>NextIcon.png</NextIcon>
|
||||||
|
<PlayIcon>PlayIcon.png</PlayIcon>
|
||||||
|
<PauseIcon>PauseIcon.png</PauseIcon>
|
||||||
|
<RepeatIcon>RepeatIcon.png</RepeatIcon>
|
||||||
|
<SongMenuBG>SongMenuBG.png</SongMenuBG>
|
||||||
|
<CloseIcon>Close.png</CloseIcon>
|
||||||
|
<DeleteIcon>Delete.png</DeleteIcon>
|
||||||
|
<SaveIcon>Save.png</SaveIcon>
|
||||||
|
<SingIcon>Sing.png</SingIcon>
|
||||||
|
<Minus>Minus.png</Minus>
|
||||||
|
<Plus>Plus.png</Plus>
|
||||||
|
<Random>Random.png</Random>
|
||||||
|
<PopupBG>Popup.png</PopupBG>
|
||||||
|
<ScrollUp>ScrollUp.png</ScrollUp>
|
||||||
|
<ScrollDown>ScrollDown.png</ScrollDown>
|
||||||
|
</Skins>
|
||||||
|
<Videos>
|
||||||
|
<BG_Video>[Blue]BG_Video.mp4</BG_Video>
|
||||||
|
<IntroIn>[Blue]IntroIn.mp4</IntroIn>
|
||||||
|
<IntroMid>[Blue]IntroMid.mp4</IntroMid>
|
||||||
|
<IntroOut>[Blue]IntroOut.mp4</IntroOut>
|
||||||
|
</Videos>
|
||||||
|
</root>
|
||||||
@@ -0,0 +1,16 @@
|
|||||||
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
|
<root>
|
||||||
|
<ThemeSystemVersion>5</ThemeSystemVersion>
|
||||||
|
<Info>
|
||||||
|
<Name>Ambient</Name>
|
||||||
|
<Author>bohning</Author>
|
||||||
|
<VersionMajor>0</VersionMajor>
|
||||||
|
<VersionMinor>2</VersionMinor>
|
||||||
|
</Info>
|
||||||
|
<Cursor>
|
||||||
|
<Skin>Cursor</Skin>
|
||||||
|
<W>40</W>
|
||||||
|
<H>40</H>
|
||||||
|
<Color Name="StaticColor" />
|
||||||
|
</Cursor>
|
||||||
|
</root>
|
||||||
@@ -0,0 +1,37 @@
|
|||||||
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
|
<root>
|
||||||
|
<Info>
|
||||||
|
<Name>Blue</Name>
|
||||||
|
<Folder>Blue</Folder>
|
||||||
|
<Author>flokuep</Author>
|
||||||
|
</Info>
|
||||||
|
<CoverGenerator Type="Default">
|
||||||
|
<Text>
|
||||||
|
<Text>%TEXT%</Text>
|
||||||
|
<Font>
|
||||||
|
<Name>Normal</Name>
|
||||||
|
<Style>Bold</Style>
|
||||||
|
<Size>500</Size>
|
||||||
|
</Font>
|
||||||
|
<Color>
|
||||||
|
<R>1</R>
|
||||||
|
<G>1</G>
|
||||||
|
<B>1</B>
|
||||||
|
<A>0.8</A>
|
||||||
|
</Color>
|
||||||
|
<Margin Default="24">
|
||||||
|
<Left>24</Left>
|
||||||
|
</Margin>
|
||||||
|
<Indent>100</Indent>
|
||||||
|
</Text>
|
||||||
|
<BackgroundColor>
|
||||||
|
<R>1</R>
|
||||||
|
<G>1</G>
|
||||||
|
<B>1</B>
|
||||||
|
<A>1</A>
|
||||||
|
</BackgroundColor>
|
||||||
|
<Image>EmptyCover.png</Image>
|
||||||
|
<ImageAlpha>0.75</ImageAlpha>
|
||||||
|
<ShowFirstCover>True</ShowFirstCover>
|
||||||
|
</CoverGenerator>
|
||||||
|
</root>
|
||||||
@@ -0,0 +1,256 @@
|
|||||||
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
|
<Screen>
|
||||||
|
<Informations>
|
||||||
|
<ScreenName>ScreenMain</ScreenName>
|
||||||
|
<ScreenVersion>2</ScreenVersion>
|
||||||
|
</Informations>
|
||||||
|
<Backgrounds>
|
||||||
|
<Background Name="Background1">
|
||||||
|
<Type>Video</Type>
|
||||||
|
<SlideShowTextures />
|
||||||
|
<Video>BG_Video</Video>
|
||||||
|
<Skin>BG_Default</Skin>
|
||||||
|
<Color Name="BackgroundColor" />
|
||||||
|
</Background>
|
||||||
|
</Backgrounds>
|
||||||
|
<Statics>
|
||||||
|
<Static Name="StaticMenuBar">
|
||||||
|
<Skin>Menu</Skin>
|
||||||
|
<Color Name="Invisible" />
|
||||||
|
<Rect>
|
||||||
|
<X>49</X>
|
||||||
|
<Y>32</Y>
|
||||||
|
<W>1181</W>
|
||||||
|
<H>50</H>
|
||||||
|
<Z>0</Z>
|
||||||
|
</Rect>
|
||||||
|
</Static>
|
||||||
|
<Static Name="StaticWarningProfiles">
|
||||||
|
<Skin>TextBG</Skin>
|
||||||
|
<Color Name="StaticWarningColor" />
|
||||||
|
<Rect>
|
||||||
|
<X>150</X>
|
||||||
|
<Y>610</Y>
|
||||||
|
<W>355</W>
|
||||||
|
<H>30</H>
|
||||||
|
<Z>-1.9</Z>
|
||||||
|
</Rect>
|
||||||
|
</Static>
|
||||||
|
</Statics>
|
||||||
|
<Texts>
|
||||||
|
<Text Name="TextRelease">
|
||||||
|
<X>10</X>
|
||||||
|
<Y>690</Y>
|
||||||
|
<Z>-1</Z>
|
||||||
|
<H>15</H>
|
||||||
|
<MaxW>0</MaxW>
|
||||||
|
<Color Name="White" />
|
||||||
|
<SelColor Name="White" />
|
||||||
|
<Align>Left</Align>
|
||||||
|
<ResizeAlign>Center</ResizeAlign>
|
||||||
|
<Style>Normal</Style>
|
||||||
|
<Font>Normal</Font>
|
||||||
|
<Text>Vocaluxe "Shining Heaven" v0.3.0 (x64) Beta (0083)</Text>
|
||||||
|
</Text>
|
||||||
|
<Text Name="TextWarningProfiles">
|
||||||
|
<X>320</X>
|
||||||
|
<Y>612</Y>
|
||||||
|
<Z>-2</Z>
|
||||||
|
<H>27</H>
|
||||||
|
<MaxW>355</MaxW>
|
||||||
|
<Color Name="TextWarningColor" />
|
||||||
|
<SelColor Name="TextWarningColor" />
|
||||||
|
<Align>Center</Align>
|
||||||
|
<ResizeAlign>Center</ResizeAlign>
|
||||||
|
<Style>Bold</Style>
|
||||||
|
<Font>Outline</Font>
|
||||||
|
<Text>TR_SCREENMAIN_TEXT_NOPROFILES</Text>
|
||||||
|
</Text>
|
||||||
|
</Texts>
|
||||||
|
<Buttons>
|
||||||
|
<Button Name="ButtonSing">
|
||||||
|
<Skin>Button</Skin>
|
||||||
|
<SkinSelected>Button</SkinSelected>
|
||||||
|
<Rect>
|
||||||
|
<X>145</X>
|
||||||
|
<Y>600</Y>
|
||||||
|
<W>150</W>
|
||||||
|
<H>50</H>
|
||||||
|
<Z>0</Z>
|
||||||
|
</Rect>
|
||||||
|
<Color Name="ButtonColor" />
|
||||||
|
<SelColor Name="ButtonSelColor" />
|
||||||
|
<Text Name="Text">
|
||||||
|
<X>75</X>
|
||||||
|
<Y>12</Y>
|
||||||
|
<Z>0</Z>
|
||||||
|
<H>27</H>
|
||||||
|
<MaxW>142</MaxW>
|
||||||
|
<Color Name="ButtonTextColor" />
|
||||||
|
<SelColor Name="ButtonTextSelColor" />
|
||||||
|
<Align>Center</Align>
|
||||||
|
<ResizeAlign>Center</ResizeAlign>
|
||||||
|
<Style>Bold</Style>
|
||||||
|
<Font>Outline</Font>
|
||||||
|
<Text>TR_SCREENMAIN_BUTTON_SING</Text>
|
||||||
|
</Text>
|
||||||
|
<Reflection>
|
||||||
|
<Height>26</Height>
|
||||||
|
<Space>10</Space>
|
||||||
|
</Reflection>
|
||||||
|
<SelReflection>
|
||||||
|
<Height>26</Height>
|
||||||
|
<Space>10</Space>
|
||||||
|
</SelReflection>
|
||||||
|
</Button>
|
||||||
|
<Button Name="ButtonParty">
|
||||||
|
<Skin>Button</Skin>
|
||||||
|
<SkinSelected>Button</SkinSelected>
|
||||||
|
<Rect>
|
||||||
|
<X>355</X>
|
||||||
|
<Y>600</Y>
|
||||||
|
<W>150</W>
|
||||||
|
<H>50</H>
|
||||||
|
<Z>0</Z>
|
||||||
|
</Rect>
|
||||||
|
<Color Name="ButtonColor" />
|
||||||
|
<SelColor Name="ButtonSelColor" />
|
||||||
|
<Text Name="Text">
|
||||||
|
<X>75</X>
|
||||||
|
<Y>12</Y>
|
||||||
|
<Z>0</Z>
|
||||||
|
<H>27</H>
|
||||||
|
<MaxW>142</MaxW>
|
||||||
|
<Color Name="ButtonTextColor" />
|
||||||
|
<SelColor Name="ButtonTextSelColor" />
|
||||||
|
<Align>Center</Align>
|
||||||
|
<ResizeAlign>Center</ResizeAlign>
|
||||||
|
<Style>Bold</Style>
|
||||||
|
<Font>Outline</Font>
|
||||||
|
<Text>TR_SCREENMAIN_BUTTON_PARTY</Text>
|
||||||
|
</Text>
|
||||||
|
<Reflection>
|
||||||
|
<Height>26</Height>
|
||||||
|
<Space>10</Space>
|
||||||
|
</Reflection>
|
||||||
|
<SelReflection>
|
||||||
|
<Height>26</Height>
|
||||||
|
<Space>10</Space>
|
||||||
|
</SelReflection>
|
||||||
|
</Button>
|
||||||
|
<Button Name="ButtonOptions">
|
||||||
|
<Skin>Button</Skin>
|
||||||
|
<SkinSelected>Button</SkinSelected>
|
||||||
|
<Rect>
|
||||||
|
<X>565</X>
|
||||||
|
<Y>600</Y>
|
||||||
|
<W>150</W>
|
||||||
|
<H>50</H>
|
||||||
|
<Z>0</Z>
|
||||||
|
</Rect>
|
||||||
|
<Color Name="ButtonColor" />
|
||||||
|
<SelColor Name="ButtonSelColor" />
|
||||||
|
<Text Name="Text">
|
||||||
|
<X>75</X>
|
||||||
|
<Y>12</Y>
|
||||||
|
<Z>0</Z>
|
||||||
|
<H>27</H>
|
||||||
|
<MaxW>142</MaxW>
|
||||||
|
<Color Name="ButtonTextColor" />
|
||||||
|
<SelColor Name="ButtonTextSelColor" />
|
||||||
|
<Align>Center</Align>
|
||||||
|
<ResizeAlign>Center</ResizeAlign>
|
||||||
|
<Style>Bold</Style>
|
||||||
|
<Font>Outline</Font>
|
||||||
|
<Text>TR_SCREENMAIN_BUTTON_OPTIONS</Text>
|
||||||
|
</Text>
|
||||||
|
<Reflection>
|
||||||
|
<Height>26</Height>
|
||||||
|
<Space>10</Space>
|
||||||
|
</Reflection>
|
||||||
|
<SelReflection>
|
||||||
|
<Height>26</Height>
|
||||||
|
<Space>10</Space>
|
||||||
|
</SelReflection>
|
||||||
|
</Button>
|
||||||
|
<Button Name="ButtonProfiles">
|
||||||
|
<Skin>Button</Skin>
|
||||||
|
<SkinSelected>Button</SkinSelected>
|
||||||
|
<Rect>
|
||||||
|
<X>775</X>
|
||||||
|
<Y>600</Y>
|
||||||
|
<W>150</W>
|
||||||
|
<H>50</H>
|
||||||
|
<Z>0</Z>
|
||||||
|
</Rect>
|
||||||
|
<Color Name="ButtonColor" />
|
||||||
|
<SelColor Name="ButtonSelColor" />
|
||||||
|
<Text Name="Text">
|
||||||
|
<X>75</X>
|
||||||
|
<Y>12</Y>
|
||||||
|
<Z>0</Z>
|
||||||
|
<H>27</H>
|
||||||
|
<MaxW>142</MaxW>
|
||||||
|
<Color Name="ButtonTextColor" />
|
||||||
|
<SelColor Name="ButtonTextSelColor" />
|
||||||
|
<Align>Center</Align>
|
||||||
|
<ResizeAlign>Center</ResizeAlign>
|
||||||
|
<Style>Bold</Style>
|
||||||
|
<Font>Outline</Font>
|
||||||
|
<Text>TR_SCREENMAIN_BUTTON_PROFILES</Text>
|
||||||
|
</Text>
|
||||||
|
<Reflection>
|
||||||
|
<Height>26</Height>
|
||||||
|
<Space>10</Space>
|
||||||
|
</Reflection>
|
||||||
|
<SelReflection>
|
||||||
|
<Height>26</Height>
|
||||||
|
<Space>10</Space>
|
||||||
|
</SelReflection>
|
||||||
|
</Button>
|
||||||
|
<Button Name="ButtonExit">
|
||||||
|
<Skin>Button</Skin>
|
||||||
|
<SkinSelected>Button</SkinSelected>
|
||||||
|
<Rect>
|
||||||
|
<X>985</X>
|
||||||
|
<Y>600</Y>
|
||||||
|
<W>150</W>
|
||||||
|
<H>50</H>
|
||||||
|
<Z>0</Z>
|
||||||
|
</Rect>
|
||||||
|
<Color Name="ButtonColor" />
|
||||||
|
<SelColor Name="ButtonSelColor" />
|
||||||
|
<Text Name="Text">
|
||||||
|
<X>75</X>
|
||||||
|
<Y>12</Y>
|
||||||
|
<Z>0</Z>
|
||||||
|
<H>27</H>
|
||||||
|
<MaxW>142</MaxW>
|
||||||
|
<Color Name="ButtonTextColor" />
|
||||||
|
<SelColor Name="ButtonTextSelColor" />
|
||||||
|
<Align>Center</Align>
|
||||||
|
<ResizeAlign>Center</ResizeAlign>
|
||||||
|
<Style>Bold</Style>
|
||||||
|
<Font>Outline</Font>
|
||||||
|
<Text>TR_BUTTON_EXIT</Text>
|
||||||
|
</Text>
|
||||||
|
<Reflection>
|
||||||
|
<Height>26</Height>
|
||||||
|
<Space>10</Space>
|
||||||
|
</Reflection>
|
||||||
|
<SelReflection>
|
||||||
|
<Height>26</Height>
|
||||||
|
<Space>10</Space>
|
||||||
|
</SelReflection>
|
||||||
|
</Button>
|
||||||
|
</Buttons>
|
||||||
|
<SongMenus />
|
||||||
|
<Lyrics />
|
||||||
|
<SelectSlides />
|
||||||
|
<SingNotes />
|
||||||
|
<NameSelections />
|
||||||
|
<Equalizers />
|
||||||
|
<Playlists />
|
||||||
|
<ParticleEffects />
|
||||||
|
<ScreenSettings />
|
||||||
|
</Screen>
|
||||||
@@ -0,0 +1,113 @@
|
|||||||
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
|
<Project ToolsVersion="4.0" DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
|
||||||
|
<PropertyGroup>
|
||||||
|
<Configuration Condition=" '$(Configuration)' == '' ">Debug</Configuration>
|
||||||
|
<Platform Condition=" '$(Platform)' == '' ">AnyCPU</Platform>
|
||||||
|
<ProjectGuid>{93356718-3A0B-4784-AAE1-215065BFFC66}</ProjectGuid>
|
||||||
|
<OutputType>Library</OutputType>
|
||||||
|
<AppDesignerFolder>Properties</AppDesignerFolder>
|
||||||
|
<RootNamespace>VocaluxeTests</RootNamespace>
|
||||||
|
<AssemblyName>VocaluxeTests</AssemblyName>
|
||||||
|
<TargetFrameworkVersion>v4.5</TargetFrameworkVersion>
|
||||||
|
<FileAlignment>512</FileAlignment>
|
||||||
|
<ProjectTypeGuids>{3AC096D0-A1C2-E12C-1390-A8335801FDAB};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}</ProjectTypeGuids>
|
||||||
|
<VisualStudioVersion Condition="'$(VisualStudioVersion)' == ''">10.0</VisualStudioVersion>
|
||||||
|
<VSToolsPath Condition="'$(VSToolsPath)' == ''">$(MSBuildExtensionsPath32)\Microsoft\VisualStudio\v$(VisualStudioVersion)</VSToolsPath>
|
||||||
|
<ReferencePath>$(ProgramFiles)\Common Files\microsoft shared\VSTT\$(VisualStudioVersion)\UITestExtensionPackages</ReferencePath>
|
||||||
|
<IsCodedUITest>False</IsCodedUITest>
|
||||||
|
<TestProjectType>UnitTest</TestProjectType>
|
||||||
|
</PropertyGroup>
|
||||||
|
<PropertyGroup Condition="'$(Configuration)|$(Platform)' == 'Debug|x64'">
|
||||||
|
<DebugSymbols>true</DebugSymbols>
|
||||||
|
<OutputPath>bin\x64\Debug\</OutputPath>
|
||||||
|
<DefineConstants>TRACE;DEBUG</DefineConstants>
|
||||||
|
<DebugType>full</DebugType>
|
||||||
|
<PlatformTarget>x64</PlatformTarget>
|
||||||
|
<ErrorReport>prompt</ErrorReport>
|
||||||
|
<CodeAnalysisRuleSet>MinimumRecommendedRules.ruleset</CodeAnalysisRuleSet>
|
||||||
|
</PropertyGroup>
|
||||||
|
<PropertyGroup Condition="'$(Configuration)|$(Platform)' == 'Release|x64'">
|
||||||
|
<OutputPath>bin\x64\Release\</OutputPath>
|
||||||
|
<DefineConstants>TRACE</DefineConstants>
|
||||||
|
<Optimize>true</Optimize>
|
||||||
|
<DebugType>pdbonly</DebugType>
|
||||||
|
<PlatformTarget>x64</PlatformTarget>
|
||||||
|
<ErrorReport>prompt</ErrorReport>
|
||||||
|
<CodeAnalysisRuleSet>MinimumRecommendedRules.ruleset</CodeAnalysisRuleSet>
|
||||||
|
</PropertyGroup>
|
||||||
|
<PropertyGroup Condition="'$(Configuration)|$(Platform)' == 'Debug|x86'">
|
||||||
|
<DebugSymbols>true</DebugSymbols>
|
||||||
|
<OutputPath>bin\x86\Debug\</OutputPath>
|
||||||
|
<DefineConstants>DEBUG;TRACE</DefineConstants>
|
||||||
|
<DebugType>full</DebugType>
|
||||||
|
<PlatformTarget>x86</PlatformTarget>
|
||||||
|
<ErrorReport>prompt</ErrorReport>
|
||||||
|
<CodeAnalysisRuleSet>MinimumRecommendedRules.ruleset</CodeAnalysisRuleSet>
|
||||||
|
</PropertyGroup>
|
||||||
|
<PropertyGroup Condition="'$(Configuration)|$(Platform)' == 'Release|x86'">
|
||||||
|
<OutputPath>bin\x86\Release\</OutputPath>
|
||||||
|
<DefineConstants>TRACE</DefineConstants>
|
||||||
|
<Optimize>true</Optimize>
|
||||||
|
<DebugType>pdbonly</DebugType>
|
||||||
|
<PlatformTarget>x86</PlatformTarget>
|
||||||
|
<ErrorReport>prompt</ErrorReport>
|
||||||
|
<CodeAnalysisRuleSet>MinimumRecommendedRules.ruleset</CodeAnalysisRuleSet>
|
||||||
|
</PropertyGroup>
|
||||||
|
<ItemGroup>
|
||||||
|
<Reference Include="System" />
|
||||||
|
<Reference Include="System.XML" />
|
||||||
|
</ItemGroup>
|
||||||
|
<Choose>
|
||||||
|
<When Condition="('$(VisualStudioVersion)' == '10.0' or '$(VisualStudioVersion)' == '') and '$(TargetFrameworkVersion)' == 'v3.5'">
|
||||||
|
<ItemGroup>
|
||||||
|
<Reference Include="Microsoft.VisualStudio.QualityTools.UnitTestFramework, Version=10.1.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL" />
|
||||||
|
</ItemGroup>
|
||||||
|
</When>
|
||||||
|
<Otherwise>
|
||||||
|
<ItemGroup>
|
||||||
|
<Reference Include="Microsoft.VisualStudio.QualityTools.UnitTestFramework" />
|
||||||
|
</ItemGroup>
|
||||||
|
</Otherwise>
|
||||||
|
</Choose>
|
||||||
|
<ItemGroup>
|
||||||
|
<Compile Include="Properties\AssemblyInfo.cs" />
|
||||||
|
<Compile Include="XmlSerializerTest.cs" />
|
||||||
|
</ItemGroup>
|
||||||
|
<ItemGroup>
|
||||||
|
<ProjectReference Include="..\VocaluxeLib\VocaluxeLib.csproj">
|
||||||
|
<Project>{d2b6ddef-e0e1-4ddf-a73a-e6acef5c95ec}</Project>
|
||||||
|
<Name>VocaluxeLib</Name>
|
||||||
|
</ProjectReference>
|
||||||
|
<ProjectReference Include="..\Vocaluxe\Vocaluxe.csproj">
|
||||||
|
<Project>{2a1e0f2d-5392-4bb7-b0a1-a9dfa13e79ff}</Project>
|
||||||
|
<Name>Vocaluxe</Name>
|
||||||
|
</ProjectReference>
|
||||||
|
</ItemGroup>
|
||||||
|
<Choose>
|
||||||
|
<When Condition="'$(VisualStudioVersion)' == '10.0' And '$(IsCodedUITest)' == 'True'">
|
||||||
|
<ItemGroup>
|
||||||
|
<Reference Include="Microsoft.VisualStudio.QualityTools.CodedUITestFramework, Version=10.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL">
|
||||||
|
<Private>False</Private>
|
||||||
|
</Reference>
|
||||||
|
<Reference Include="Microsoft.VisualStudio.TestTools.UITest.Common, Version=10.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL">
|
||||||
|
<Private>False</Private>
|
||||||
|
</Reference>
|
||||||
|
<Reference Include="Microsoft.VisualStudio.TestTools.UITest.Extension, Version=10.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL">
|
||||||
|
<Private>False</Private>
|
||||||
|
</Reference>
|
||||||
|
<Reference Include="Microsoft.VisualStudio.TestTools.UITesting, Version=10.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a, processorArchitecture=MSIL">
|
||||||
|
<Private>False</Private>
|
||||||
|
</Reference>
|
||||||
|
</ItemGroup>
|
||||||
|
</When>
|
||||||
|
</Choose>
|
||||||
|
<Import Project="$(VSToolsPath)\TeamTest\Microsoft.TestTools.targets" Condition="Exists('$(VSToolsPath)\TeamTest\Microsoft.TestTools.targets')" />
|
||||||
|
<Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />
|
||||||
|
<!-- To modify your build process, add your task inside one of the targets below and uncomment it.
|
||||||
|
Other similar extension points exist, see Microsoft.Common.targets.
|
||||||
|
<Target Name="BeforeBuild">
|
||||||
|
</Target>
|
||||||
|
<Target Name="AfterBuild">
|
||||||
|
</Target>
|
||||||
|
-->
|
||||||
|
</Project>
|
||||||
@@ -0,0 +1,302 @@
|
|||||||
|
using System;
|
||||||
|
using System.Collections.Generic;
|
||||||
|
using System.Diagnostics;
|
||||||
|
using System.IO;
|
||||||
|
using System.Xml;
|
||||||
|
using System.Xml.Serialization;
|
||||||
|
using Microsoft.VisualStudio.TestTools.UnitTesting;
|
||||||
|
using Vocaluxe.Base;
|
||||||
|
using VocaluxeLib;
|
||||||
|
using VocaluxeLib.Menu;
|
||||||
|
using VocaluxeLib.Xml;
|
||||||
|
|
||||||
|
namespace VocaluxeTests
|
||||||
|
{
|
||||||
|
[TestClass]
|
||||||
|
public class CXmlSerializerTest
|
||||||
|
{
|
||||||
|
private const string sHead = "<?xml version=\"1.0\" encoding=\"utf-8\"?>\r\n";
|
||||||
|
private const string sEmpty = sHead + @"<root />";
|
||||||
|
|
||||||
|
private struct SBasic
|
||||||
|
{
|
||||||
|
public int I;
|
||||||
|
public string S;
|
||||||
|
public float F;
|
||||||
|
public double D;
|
||||||
|
}
|
||||||
|
|
||||||
|
[TestMethod]
|
||||||
|
public void TestBasic()
|
||||||
|
{
|
||||||
|
const string s = @"<root>
|
||||||
|
<I>1</I>
|
||||||
|
<S>2</S>
|
||||||
|
<F>3</F>
|
||||||
|
<D>4</D>
|
||||||
|
</root>";
|
||||||
|
var xml = new CXmlSerializer();
|
||||||
|
SBasic foo = xml.DeserializeString<SBasic>(s);
|
||||||
|
Assert.AreEqual(1, foo.I);
|
||||||
|
Assert.AreEqual("2", foo.S);
|
||||||
|
Assert.AreEqual(3, foo.F, 0.0001);
|
||||||
|
Assert.AreEqual(4, foo.D, 0.0001);
|
||||||
|
}
|
||||||
|
|
||||||
|
private static void _AssertFail<T>(Action test) where T : Exception
|
||||||
|
{
|
||||||
|
try
|
||||||
|
{
|
||||||
|
test.Invoke();
|
||||||
|
Assert.Fail("Exception " + typeof(T).Name + " not thrown!");
|
||||||
|
}
|
||||||
|
catch (Exception e)
|
||||||
|
{
|
||||||
|
Assert.IsInstanceOfType(e, typeof(T));
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
[TestMethod]
|
||||||
|
public void TestMissingXmlElement()
|
||||||
|
{
|
||||||
|
string[] s = new string[] {@"<root>
|
||||||
|
<S>2</S>
|
||||||
|
<F>3</F>
|
||||||
|
<D>4</D>
|
||||||
|
</root>", @"<root>
|
||||||
|
<I>1</I>
|
||||||
|
<F>3</F>
|
||||||
|
<D>4</D>
|
||||||
|
</root>", @"<root>
|
||||||
|
<I>1</I>
|
||||||
|
<S>2</S>
|
||||||
|
<F>3</F>
|
||||||
|
</root>"};
|
||||||
|
var xml = new CXmlSerializer();
|
||||||
|
foreach (string s1 in s)
|
||||||
|
{
|
||||||
|
string sTmp = s1;
|
||||||
|
_AssertFail<XmlException>(() => xml.DeserializeString<SBasic>(sTmp));
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
[TestMethod]
|
||||||
|
public void TestMissingStructElement()
|
||||||
|
{
|
||||||
|
string[] s = new string[] {@"<root>
|
||||||
|
<Foo>1</Foo>
|
||||||
|
<I>1</I>
|
||||||
|
<S>2</S>
|
||||||
|
<F>3</F>
|
||||||
|
<D>4</D>
|
||||||
|
</root>", @"<root>
|
||||||
|
<I>1</I>
|
||||||
|
<Foo>1</Foo>
|
||||||
|
<S>2</S>
|
||||||
|
<F>3</F>
|
||||||
|
<D>4</D>
|
||||||
|
</root>", @"<root>
|
||||||
|
<I>1</I>
|
||||||
|
<S>2</S>
|
||||||
|
<F>3</F>
|
||||||
|
<D>4</D>
|
||||||
|
<Foo>1</Foo>
|
||||||
|
</root>"};
|
||||||
|
var xml = new CXmlSerializer();
|
||||||
|
foreach (string s1 in s)
|
||||||
|
{
|
||||||
|
string sTmp = s1;
|
||||||
|
_AssertFail<XmlException>(() => xml.DeserializeString<SBasic>(sTmp));
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
[TestMethod]
|
||||||
|
public void TestBasicSerialization()
|
||||||
|
{
|
||||||
|
const string s = sHead + @"<root>
|
||||||
|
<I>1</I>
|
||||||
|
<S>2</S>
|
||||||
|
<F>3</F>
|
||||||
|
<D>4</D>
|
||||||
|
</root>";
|
||||||
|
var xml = new CXmlSerializer();
|
||||||
|
SBasic foo = xml.DeserializeString<SBasic>(s);
|
||||||
|
string s2 = xml.Serialize(foo);
|
||||||
|
Assert.AreEqual(s, s2);
|
||||||
|
}
|
||||||
|
|
||||||
|
private readonly string[] _XMLList = new string[]
|
||||||
|
{
|
||||||
|
sHead + @"<root>
|
||||||
|
<Ints>
|
||||||
|
<Entry>
|
||||||
|
<I>1</I>
|
||||||
|
</Entry>
|
||||||
|
<Entry>
|
||||||
|
<I>1</I>
|
||||||
|
</Entry>
|
||||||
|
</Ints>
|
||||||
|
</root>",
|
||||||
|
sHead + @"<root>
|
||||||
|
<Ints>
|
||||||
|
</Ints>
|
||||||
|
</root>",
|
||||||
|
sHead + @"<root>
|
||||||
|
<Ints />
|
||||||
|
</root>"
|
||||||
|
};
|
||||||
|
|
||||||
|
[XmlType("Entry")]
|
||||||
|
private struct SEntry
|
||||||
|
{
|
||||||
|
public int I;
|
||||||
|
}
|
||||||
|
|
||||||
|
private struct SList
|
||||||
|
{
|
||||||
|
[XmlArray] public List<SEntry> Ints;
|
||||||
|
}
|
||||||
|
|
||||||
|
[TestMethod]
|
||||||
|
public void TestList()
|
||||||
|
{
|
||||||
|
var xml = new CXmlSerializer();
|
||||||
|
SList foo = xml.DeserializeString<SList>(_XMLList[0]);
|
||||||
|
Assert.AreEqual(foo.Ints.Count, 2, "Deserialization failed");
|
||||||
|
Assert.AreEqual(foo.Ints[0].I, 1, "Deserialization failed");
|
||||||
|
Assert.AreEqual(foo.Ints[1].I, 1, "Deserialization failed");
|
||||||
|
string res = xml.Serialize(foo);
|
||||||
|
Assert.AreEqual(_XMLList[0], res, "Serialization failed");
|
||||||
|
foo = xml.DeserializeString<SList>(_XMLList[1]);
|
||||||
|
Assert.AreEqual(foo.Ints.Count, 0, "Deserialization2 failed");
|
||||||
|
res = xml.Serialize(foo);
|
||||||
|
Assert.AreEqual(_XMLList[2], res, "Serialization2 failed");
|
||||||
|
foo = xml.DeserializeString<SList>(_XMLList[2]);
|
||||||
|
Assert.AreEqual(foo.Ints.Count, 0, "Deserialization2 failed");
|
||||||
|
res = xml.Serialize(foo);
|
||||||
|
Assert.AreEqual(_XMLList[2], res, "Serialization2 failed");
|
||||||
|
_AssertFail<XmlException>(() => xml.DeserializeString<SList>(sEmpty));
|
||||||
|
}
|
||||||
|
|
||||||
|
private struct SArray
|
||||||
|
{
|
||||||
|
[XmlArray] public SEntry[] Ints;
|
||||||
|
}
|
||||||
|
|
||||||
|
[TestMethod]
|
||||||
|
public void TestArray()
|
||||||
|
{
|
||||||
|
var xml = new CXmlSerializer();
|
||||||
|
SArray foo = xml.DeserializeString<SArray>(_XMLList[0]);
|
||||||
|
Assert.AreEqual(foo.Ints.Length, 2, "Deserialization failed");
|
||||||
|
Assert.AreEqual(foo.Ints[0].I, 1, "Deserialization failed");
|
||||||
|
Assert.AreEqual(foo.Ints[1].I, 1, "Deserialization failed");
|
||||||
|
string res = xml.Serialize(foo);
|
||||||
|
Assert.AreEqual(_XMLList[0], res, "Serialization failed");
|
||||||
|
foo = xml.DeserializeString<SArray>(_XMLList[1]);
|
||||||
|
Assert.AreEqual(foo.Ints.Length, 0, "Deserialization2 failed");
|
||||||
|
res = xml.Serialize(foo);
|
||||||
|
Assert.AreEqual(_XMLList[2], res, "Serialization2 failed");
|
||||||
|
foo = xml.DeserializeString<SArray>(_XMLList[2]);
|
||||||
|
Assert.AreEqual(foo.Ints.Length, 0, "Deserialization2 failed");
|
||||||
|
res = xml.Serialize(foo);
|
||||||
|
Assert.AreEqual(_XMLList[2], res, "Serialization2 failed");
|
||||||
|
_AssertFail<XmlException>(() => xml.DeserializeString<SArray>(sEmpty));
|
||||||
|
}
|
||||||
|
|
||||||
|
private const string _XMLListEmb = sHead + @"<root>
|
||||||
|
<I>2</I>
|
||||||
|
<Entry>
|
||||||
|
<I>1</I>
|
||||||
|
</Entry>
|
||||||
|
<J>3</J>
|
||||||
|
</root>";
|
||||||
|
private const string _XMLListEmb2 = sHead + @"<root>
|
||||||
|
<I>2</I>
|
||||||
|
<Entry>
|
||||||
|
<I>1</I>
|
||||||
|
</Entry>
|
||||||
|
<Entry>
|
||||||
|
<I>2</I>
|
||||||
|
</Entry>
|
||||||
|
<J>3</J>
|
||||||
|
</root>";
|
||||||
|
private const string _XMLListEmb3 = sHead + @"<root>
|
||||||
|
<I>2</I>
|
||||||
|
<J>3</J>
|
||||||
|
</root>";
|
||||||
|
|
||||||
|
private struct SListEmb
|
||||||
|
{
|
||||||
|
public int I;
|
||||||
|
[XmlElement("Entry")] public List<SEntry> Ints;
|
||||||
|
public int J;
|
||||||
|
}
|
||||||
|
|
||||||
|
[TestMethod]
|
||||||
|
public void TestListEmbedded()
|
||||||
|
{
|
||||||
|
var xml = new CXmlSerializer();
|
||||||
|
SListEmb foo = xml.DeserializeString<SListEmb>(_XMLListEmb);
|
||||||
|
Assert.AreEqual(foo.Ints.Count, 1, "Deserialization failed");
|
||||||
|
Assert.AreEqual(foo.Ints[0].I, 1, "Deserialization failed");
|
||||||
|
string res = xml.Serialize(foo);
|
||||||
|
Assert.AreEqual(_XMLListEmb, res, "Serialization failed");
|
||||||
|
foo = xml.DeserializeString<SListEmb>(_XMLListEmb2);
|
||||||
|
Assert.AreEqual(foo.Ints.Count, 2, "Deserialization failed");
|
||||||
|
Assert.AreEqual(foo.Ints[1].I, 2, "Deserialization failed");
|
||||||
|
res = xml.Serialize(foo);
|
||||||
|
Assert.AreEqual(_XMLListEmb2, res, "Serialization failed");
|
||||||
|
foo = xml.DeserializeString<SListEmb>(_XMLListEmb3);
|
||||||
|
Assert.AreEqual(foo.Ints.Count, 0, "Deserialization failed");
|
||||||
|
res = xml.Serialize(foo);
|
||||||
|
Assert.AreEqual(_XMLListEmb3, res, "Serialization failed");
|
||||||
|
_AssertFail<XmlException>(() => xml.DeserializeString<SListEmb>(sEmpty));
|
||||||
|
}
|
||||||
|
|
||||||
|
private struct SArrayEmb
|
||||||
|
{
|
||||||
|
public int I;
|
||||||
|
[XmlElement("Entry")] public SEntry[] Ints;
|
||||||
|
public int J;
|
||||||
|
}
|
||||||
|
|
||||||
|
[TestMethod]
|
||||||
|
public void TestArrayEmbedded()
|
||||||
|
{
|
||||||
|
var xml = new CXmlSerializer();
|
||||||
|
SArrayEmb foo = xml.DeserializeString<SArrayEmb>(_XMLListEmb);
|
||||||
|
Assert.AreEqual(foo.Ints.Length, 1, "Deserialization failed");
|
||||||
|
Assert.AreEqual(foo.Ints[0].I, 1, "Deserialization failed");
|
||||||
|
string res = xml.Serialize(foo);
|
||||||
|
Assert.AreEqual(_XMLListEmb, res, "Serialization failed");
|
||||||
|
foo = xml.DeserializeString<SArrayEmb>(_XMLListEmb2);
|
||||||
|
Assert.AreEqual(foo.Ints.Length, 2, "Deserialization failed");
|
||||||
|
Assert.AreEqual(foo.Ints[1].I, 2, "Deserialization failed");
|
||||||
|
res = xml.Serialize(foo);
|
||||||
|
Assert.AreEqual(_XMLListEmb2, res, "Serialization failed");
|
||||||
|
foo = xml.DeserializeString<SArrayEmb>(_XMLListEmb3);
|
||||||
|
Assert.AreEqual(foo.Ints.Length, 0, "Deserialization failed");
|
||||||
|
res = xml.Serialize(foo);
|
||||||
|
Assert.AreEqual(_XMLListEmb3, res, "Serialization failed");
|
||||||
|
_AssertFail<XmlException>(() => xml.DeserializeString<SArrayEmb>(sEmpty));
|
||||||
|
}
|
||||||
|
|
||||||
|
[TestMethod]
|
||||||
|
public void TestRealFiles()
|
||||||
|
{
|
||||||
|
Type[] types = new Type[] {typeof(SThemeCover), typeof(CConfig.SConfig), typeof(SThemeScreen), typeof(SDefaultFonts), typeof(SSkin), typeof(STheme)};
|
||||||
|
string filePath = Path.Combine(new string[] {AppDomain.CurrentDomain.BaseDirectory, "..", "..", "..", "TestXmlFiles"});
|
||||||
|
foreach (Type type in types)
|
||||||
|
{
|
||||||
|
string xmlPath = Path.Combine(filePath, type.Name + ".xml");
|
||||||
|
var xml = new CXmlSerializer(type == typeof(CConfig.SConfig));
|
||||||
|
object foo = xml.GetType().GetMethod("Deserialize").MakeGenericMethod(new Type[] {type}).Invoke(xml, new object[] {xmlPath});
|
||||||
|
Assert.IsInstanceOfType(foo, type);
|
||||||
|
string newXml = xml.Serialize(foo);
|
||||||
|
string oldXml = File.ReadAllText(xmlPath);
|
||||||
|
Assert.AreEqual(oldXml, newXml, "Error in " + type.Name);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
Reference in new issue
Block a user