public void SerializationTests_FSharp_Collections() { var elements = new List <int>() { 0, 1, 2 }; var mapElements = new List <Tuple <int, string> >() { new Tuple <int, string>(0, "zero"), new Tuple <int, string>(1, "one") }; // F# list RoundtripSerializationTest(ListModule.Empty <int>()); RoundtripSerializationTest(ListModule.OfSeq(elements)); // F# set RoundtripSerializationTest(SetModule.Empty <int>()); RoundtripSerializationTest(SetModule.OfSeq(elements)); // F# map RoundtripSerializationTest(MapModule.OfSeq(new List <Tuple <int, string> >())); RoundtripSerializationTest(MapModule.OfSeq(mapElements)); }
public void DifferentGraphsTest() { var g1 = new BidirectionalGraph <int, Edge <int> >(); var g2 = new BidirectionalGraph <int, Edge <int> >(); g1.AddVerticesAndEdgeRange(new[] { new Edge <int>(1, 2), new Edge <int>(1, 3), new Edge <int>(2, 4), new Edge <int>(2, 5) }); g2.AddVerticesAndEdgeRange(new[] { new Edge <int>(1, 2), new Edge <int>(2, 3), new Edge <int>(2, 4) }); var dictionary = new Dictionary <Tuple <int, int>, double>(); foreach (var i in g1.Vertices) { foreach (var j in g2.Vertices) { dictionary[Tuple.Create(i, j)] = 0.0; } } dictionary[Tuple.Create(1, 1)] = 1.0; dictionary[Tuple.Create(2, 2)] = 1.0; dictionary[Tuple.Create(3, 2)] = 0.6; dictionary[Tuple.Create(4, 3)] = 1.0; dictionary[Tuple.Create(5, 4)] = 1.0; var algo = new MaxCardinality <int, Edge <int> >(g1, g2, dictionary, 0.5, (u, v) => new Edge <int>(u, v)); var res = algo.compMaxCardinality(); var correctResult = SetModule.Empty <Tuple <int, int> >() .Add(Tuple.Create(1, 1)) .Add(Tuple.Create(2, 2)) .Add(Tuple.Create(3, 2)) .Add(Tuple.Create(4, 3)) .Add(Tuple.Create(5, 4)); Assert.AreEqual(res, correctResult); }