namespace WoofWare.Expect.Test open WoofWare.Expect open NUnit.Framework [] [] module TestSnapshotFinding = [] let ``Prepare to bulk-update tests`` () = // GlobalBuilderConfig.enterBulkUpdateMode () () [] let ``Update all tests`` () = GlobalBuilderConfig.updateAllSnapshots () type Dummy = class end [] let ``Triple-quote, one line, one-line replacement`` () = let source = Assembly.getEmbeddedResource typeof.Assembly "TripleQuoteOneLine.fs" |> _.Split('\n') expect { snapshot @"namespace BigExample open WoofWare.Expect module MyModule = let foo () = expect { snapshot ""replacement"" return 123 } " return SnapshotUpdate.updateSnapshotAtLine source 8 "replacement" |> String.concat "\n" } [] let ``Triple-quote, one line, multi-line replacement`` () = let source = Assembly.getEmbeddedResource typeof.Assembly "TripleQuoteOneLine.fs" |> _.Split('\n') expect { snapshot @"namespace BigExample open WoofWare.Expect module MyModule = let foo () = expect { snapshot @""replacement more"" return 123 } " return SnapshotUpdate.updateSnapshotAtLine source 8 "replacement\nmore" |> String.concat "\n" } [] let ``At-string, one line, one-line replacement`` () = let source = Assembly.getEmbeddedResource typeof.Assembly "AtStringOneLine.fs" |> _.Split('\n') expect { snapshot @"namespace BigExample open WoofWare.Expect module MyModule = let foo () = expect { snapshot ""replacement"" return 123 } " return SnapshotUpdate.updateSnapshotAtLine source 8 "replacement" |> String.concat "\n" } [] let ``At-string, one line, multi-line replacement`` () = let source = Assembly.getEmbeddedResource typeof.Assembly "AtStringOneLine.fs" |> _.Split('\n') expect { snapshot @"namespace BigExample open WoofWare.Expect module MyModule = let foo () = expect { snapshot @""replacement more"" return 123 } " return SnapshotUpdate.updateSnapshotAtLine source 8 "replacement\nmore" |> String.concat "\n" } [] let ``Triple-quote, intervening comment, one-line replacement`` () = let source = Assembly.getEmbeddedResource typeof.Assembly "TripleQuoteInterveningComment.fs" |> _.Split('\n') expect { snapshot @"namespace BigExample open WoofWare.Expect module MyModule = let foo () = expect { snapshot (* comment *) @""replacement"" return 123 } " return SnapshotUpdate.updateSnapshotAtLine source 8 "replacement" |> String.concat "\n" } [] let ``Triple-quote, intervening comment, multi-line replacement`` () = let source = Assembly.getEmbeddedResource typeof.Assembly "TripleQuoteInterveningComment.fs" |> _.Split('\n') expect { snapshot @"namespace BigExample open WoofWare.Expect module MyModule = let foo () = expect { snapshot (* comment *) @""replacement more"" return 123 } " return SnapshotUpdate.updateSnapshotAtLine source 8 "replacement\nmore" |> String.concat "\n" } [] let ``Single-quote, many lines, one-line replacement`` () = let source = Assembly.getEmbeddedResource typeof.Assembly "SingleQuoteManyLine.fs" |> _.Split('\n') expect { snapshot @"namespace BigExample open WoofWare.Expect module MyModule = let foo () = expect { snapshot @""replacement"" return 123 } " return SnapshotUpdate.updateSnapshotAtLine source 8 "replacement" |> String.concat "\n" } [] let ``Single-quote, many lines, multi-line replacement`` () = let source = Assembly.getEmbeddedResource typeof.Assembly "SingleQuoteManyLine.fs" |> _.Split('\n') expect { snapshot @"namespace BigExample open WoofWare.Expect module MyModule = let foo () = expect { snapshot @""replacement more"" return 123 } " return SnapshotUpdate.updateSnapshotAtLine source 8 "replacement\nmore" |> String.concat "\n" }