Esempio n. 1
0
        public void ParseShouldParseVersion()
        {
            byte[]      mockData = new byte[] { 0x49, 0x44, 0x33, 0x03, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00 };
            Id3Metadata metadata = new Id3Metadata(mockData);

            metadata.Parse();
            Assert.AreEqual("2.3.1", metadata.Version);
        }
Esempio n. 2
0
        public void ParseShouldInvalidateTagIfFrameHeaderSizeHasInvalidByte()
        {
            byte[]      mockData = new byte[] { 0x49, 0x44, 0x33, 0x03, 0x01, 0x1F, 0x80, 0x00, 0x02, 0x01 };
            Id3Metadata metadata = new Id3Metadata(mockData);

            metadata.Parse();
            Assert.AreEqual(false, metadata.Valid);
        }
Esempio n. 3
0
        public void ParseShouldParseExperimentalIndicatorFlagAsTrueIfSet()
        {
            byte[]      mockData = new byte[] { 0x49, 0x44, 0x33, 0x03, 0x01, 0x20, 0x00, 0x00, 0x00, 0x00 };
            Id3Metadata metadata = new Id3Metadata(mockData);

            metadata.Parse();
            Assert.IsTrue(metadata.IsExperimentalStage);
        }
Esempio n. 4
0
        public void ParseShouldParseTagSize()
        {
            byte[]      mockData = new byte[] { 0x49, 0x44, 0x33, 0x03, 0x01, 0x1F, 0x00, 0x00, 0x02, 0x01 };
            Id3Metadata metadata = new Id3Metadata(mockData);

            metadata.Parse();
            Assert.AreEqual((uint)257, metadata.TagSize);
        }
Esempio n. 5
0
        public void ParseShouldParseExtendedHeaderFlagAsTrueIfSet()
        {
            byte[]      mockData = new byte[] { 0x49, 0x44, 0x33, 0x03, 0x01, 0x40, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0A, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 };
            Id3Metadata metadata = new Id3Metadata(mockData);

            metadata.Parse();
            Assert.IsTrue(metadata.ContainsExtendedHeader);
        }
Esempio n. 6
0
        public void ParseShouldParseUnsynchronizationFlagAsTrueIfSet()
        {
            byte[]      mockData = new byte[] { 0x49, 0x44, 0x33, 0x03, 0x01, 0x80, 0x00, 0x00, 0x00, 0x00 };
            Id3Metadata metadata = new Id3Metadata(mockData);

            metadata.Parse();
            Assert.IsTrue(metadata.IsUnsynchronisationUsed);
        }
Esempio n. 7
0
        public void ParseShouldParseExperimentalIndicatorFlagAsFalseIfNotSet()
        {
            byte[]      mockData = new byte[] { 0x49, 0x44, 0x33, 0x03, 0x01, 0x1F, 0x00, 0x00, 0x00, 0x00 };
            Id3Metadata metadata = new Id3Metadata(mockData);

            metadata.IsUnsynchronisationUsed = true;
            metadata.Parse();
            Assert.IsFalse(metadata.IsExperimentalStage);
        }
Esempio n. 8
0
        public void ParseShouldParseExtendedHeaderFlagAsFalseIfNotSet()
        {
            byte[]      mockData = new byte[] { 0x49, 0x44, 0x33, 0x03, 0x01, 0x30, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x0A };
            Id3Metadata metadata = new Id3Metadata(mockData);

            metadata.IsUnsynchronisationUsed = true;
            metadata.Parse();
            Assert.IsFalse(metadata.ContainsExtendedHeader);
            Assert.AreEqual(null, metadata.ExtendedHeader);
        }
Esempio n. 9
0
        public void ParseShouldParseAllMetadata()
        {
            const string mockFilepath = @"c:\test.mp3";

            byte[] mockFileData = new byte[] { 0x49, 0x44, 0x33, 0x03, 0x00, 0xE0, 0x00, 0x00, 0x02, 0x01, 0x00, 0x00, 0x00, 0x0A, 0x00, 0x00, 0x00, 0x00, 0x00, 0x30 };
            Moq.Mock <IFileSystem> filesystemMock = new Moq.Mock <IFileSystem>();
            filesystemMock.Setup(x => x.File.ReadAllBytes(mockFilepath)).Returns(mockFileData);
            filesystemMock.Setup(x => x.File.Exists(mockFilepath)).Returns(true);

            MetadataParser parser   = new MetadataParser(filesystemMock.Object, mockFilepath);
            Id3Metadata    metadata = parser.Parse();

            Assert.AreEqual("2.3.0", metadata.Version);
            Assert.IsTrue(metadata.IsUnsynchronisationUsed);
            Assert.IsTrue(metadata.ContainsExtendedHeader);
            Assert.IsTrue(metadata.IsExperimentalStage);
            Assert.AreEqual((uint)257, metadata.TagSize);
            Assert.AreEqual((uint)10, metadata.ExtendedHeader.ExtendedHeaderSize);
            Assert.AreEqual(false, metadata.ExtendedHeader.IsCrcDataPresent);
            Assert.AreEqual((uint)48, metadata.ExtendedHeader.SizeOfPadding);
        }