public void StoresValueAndSpecInFuzzyContext() { var value = new TestClass(); ConfiguredCall arrange = spec.Build().Returns(value); TestClass act = sut.Build(spec); Assert.Same(spec, FuzzyContext.Get <TestClass, Fuzzy <TestClass> >(value)); }
public void GetThrowsDescriptiveExceptionWhenValueDoesNotMatchPreviouslyStored() { FuzzyContext.Set(value, spec); var unexpected = new TestStruct(random.Next()); var thrown = Assert.Throws <ArgumentException>(() => FuzzyContext.Get <TestStruct, FuzzyRange <TestStruct> >(unexpected)); Assert.Equal("value", thrown.ParamName); Assert.StartsWith($"{unexpected} is not a fuzzy value", thrown.Message); }
public void SetStoresValuesSeparatelyForEachThread() { // Arrange TestStruct[] values = Enumerable.Range(0, 16).Select(i => new TestStruct(random.Next())).ToArray(); FuzzyRange <TestStruct>[] specs = values.Select(v => CreateSpec()).ToArray(); ParallelLoopResult unused = Parallel.For(0, values.Length, i => { TestStruct value = values[i]; FuzzyRange <TestStruct> expected = specs[i]; // Act FuzzyContext.Set(value, expected); Thread.Sleep(1); FuzzyRange <TestStruct> actual = FuzzyContext.Get <TestStruct, FuzzyRange <TestStruct> >(value); // Assert Assert.Same(expected, actual); }); }
public void SetStoresValueForGet() { FuzzyContext.Set(value, spec); Assert.Same(spec, FuzzyContext.Get <TestStruct, FuzzyRange <TestStruct> >(value)); }