示例#1
0
文件: core.cs 项目: ovg1985/sync
        private bool TrySkip(FileSystemEventArgs ev)
        {
            if (ev.FullPath.Contains("~"))
            {
                Log.Debug("IN: Skip tilda: {0}", ev.FullPath);
                return(true);
            }

            /// todo regexp
            foreach (var part in ev.FullPath.Split(Path.DirectorySeparatorChar))
            {
                if (Excludes.Contains(part))
                {
                    Log.Debug("IN: Skip exclusion: {0}", ev.FullPath);
                    return(true);
                }
            }

            if (ev.ChangeType == Changes.Changed)
            {
                if (Utils.IsDirectory(ev.FullPath))
                {
                    Log.Debug("IN: Skip directory update: {0}", ev.FullPath);
                    return(true);
                }
            }

            return(false);
        }
示例#2
0
 /// <summary>
 /// Return if are between from an To
 /// </summary>
 /// <param name="o">Object</param>
 public bool ItsValid(T o)
 {
     if (From.CompareTo(o) <= 0 && To.CompareTo(o) >= 0)
     {
         if (Excludes.Contains(o))
         {
             return(false);
         }
         return(true);
     }
     return(false);
 }
    static void DeserializeAndVerify(ISerializerFacade serializer, TestCase testCase)
    {
        var expectedValues = serializer.CreateInstance(testCase.MessageType);

        testCase.Populate(expectedValues);

        var testCaseFolder = GetTestCaseFolder(testCase, serializer.SerializationFormat);
        var files          = Directory.GetFiles(testCaseFolder);

        if (files.Length == 0)
        {
            throw new Exception(
                      "No available files to deserialize. Make sure to run the serialization test case first.");
        }

        foreach (var filePath in files)
        {
            string fileName = Path.GetFileName(filePath);
            if (ExcludeList.Contains(testCase, fileName))
            {
                Console.WriteLine($"\tSkipping {fileName} because it was excluded");
                continue;
            }

            using (var stream = new FileStream(filePath, FileMode.Open))
            {
                try
                {
                    Console.WriteLine($"\tDeserializing {fileName}");
                    var deserializedType = serializer.Deserialize(stream).First();
                    testCase.CheckIfAreEqual(deserializedType, expectedValues);
                }
                catch (Exception e) when(e is not AssertionException)
                {
                    Console.WriteLine("\tError: " + e.Message);
                    Assert.Fail($"Failed deserializing {testCase.GetType().Name} - {fileName}: {e}");
                }
            }
        }
    }
示例#4
0
        /// <summary>
        /// Get next item
        /// </summary>
        public T Get()
        {
            if (_AreSame)
            {
                return(From);
            }

            T ret = default(T);

            if (_Type == TypeByte)
            {
                // Get random byte
                do
                {
                    ret = (T)Convert.ChangeType(RandomHelper.GetRandom(Convert.ToByte(From), Convert.ToByte(To)), _Type);
                }while (Excludes.Contains(ret));
            }
            else
            {
                if (_Type == TypeUInt16)
                {
                    // Get ushort byte
                    do
                    {
                        ret = (T)Convert.ChangeType(RandomHelper.GetRandom(Convert.ToUInt16(From), Convert.ToUInt16(To)), _Type);
                    }while (Excludes.Contains(ret));
                }
                else
                {
                    if (_Type == TypeInt32)
                    {
                        // Get int byte
                        do
                        {
                            ret = (T)Convert.ChangeType(RandomHelper.GetRandom(Convert.ToInt32(From), Convert.ToInt32(To)), _Type);
                        }while (Excludes.Contains(ret));
                    }
                    else
                    {
                        if (_Type == TypeInt64 || _Type == TypeUInt64)
                        {
                            // Get int byte
                            do
                            {
                                ret = (T)Convert.ChangeType(RandomHelper.GetRandom(Convert.ToInt64(From), Convert.ToInt64(To)), _Type);
                            }while (Excludes.Contains(ret));
                        }
                        else
                        {
                            if (_Type == TypeDouble)
                            {
                                // Get double byte
                                do
                                {
                                    ret = (T)Convert.ChangeType(RandomHelper.GetRandom(Convert.ToDouble(From), Convert.ToDouble(To)), _Type);
                                }while (Excludes.Contains(ret));
                            }
                        }
                    }
                }
            }

            return(ret);
        }
示例#5
0
 public bool IsExcluded(string name)
 {
     return(Excludes.Contains(name));
 }